Package org.dspace.content.authority
Class DCInputAuthority
- java.lang.Object
-
- org.dspace.core.SelfNamedPlugin
-
- org.dspace.content.authority.DCInputAuthority
-
- All Implemented Interfaces:
ChoiceAuthority,NameAwarePlugin
public class DCInputAuthority extends SelfNamedPlugin implements ChoiceAuthority
ChoiceAuthority source that reads the same submission-forms which drive configurable submission. Configuration: This MUST be configured aas a self-named plugin, e.g.:plugin.selfnamed.org.dspace.content.authority.ChoiceAuthority = \ org.dspace.content.authority.DCInputAuthorityIt AUTOMATICALLY configures a plugin instance for each<value-pairs>element (within<form-value-pairs>) of the submission-forms.xml. The name of the instance is the "value-pairs-name" attribute, e.g. the element:<value-pairs value-pairs-name="common_types" dc-term="type">defines a plugin instance "common_types". IMPORTANT NOTE: Since these value-pairs do NOT include authority keys, the choice lists derived from them do not include authority values. So you should not use them as the choice source for authority-controlled fields.
-
-
Constructor Summary
Constructors Constructor Description DCInputAuthority()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ChoicesgetBestMatch(String text, String locale)Get the single "best" match (if any) of a value in the authority to the given user value.StringgetLabel(String key, String locale)Get the canonical user-visible "label" (i.e.ChoicesgetMatches(String query, int start, int limit, String locale)Get all values from the authority that match the preferred value.static String[]getPluginNames()booleanisScrollable()Scrollable authorities allows the scroll of the entries without applying filter/query to the#getMatches(String, String, Collection, int, int, String)static voidreset()booleanstoreAuthorityInMetadata()Provide a recommendation to store the authority in the metadata value if available in the in the provided choice(s).-
Methods inherited from class org.dspace.core.SelfNamedPlugin
getPluginInstanceName, setPluginInstanceName
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.dspace.content.authority.ChoiceAuthority
getChoice, getExtra, getPreloadLevel, getValue, isHierarchical
-
Methods inherited from interface org.dspace.core.NameAwarePlugin
getPluginInstanceName, setPluginInstanceName
-
-
-
-
Method Detail
-
storeAuthorityInMetadata
public boolean storeAuthorityInMetadata()
Description copied from interface:ChoiceAuthorityProvide a recommendation to store the authority in the metadata value if available in the in the provided choice(s). Usually ChoiceAuthority should recommend that so the default is true and it only need to be implemented in the unusual scenario- Specified by:
storeAuthorityInMetadatain interfaceChoiceAuthority- Returns:
trueif the authority provided in any choice of this authority should be stored in the metadata value
-
reset
public static void reset()
-
getPluginNames
public static String[] getPluginNames()
-
getMatches
public Choices getMatches(String query, int start, int limit, String locale)
Description copied from interface:ChoiceAuthorityGet all values from the authority that match the preferred value. Note that the offering was entered by the user and may contain mixed/incorrect case, whitespace, etc so the plugin should be careful to clean up user data before making comparisons. Value of a "Name" field will be in canonical DSpace person name format, which is "Lastname, Firstname(s)", e.g. "Smith, John Q.". Some authorities with a small set of values may simply return the whole set for any sample value, although it's a good idea to set the defaultSelected index in the Choices instance to the choice, if any, that matches the value.- Specified by:
getMatchesin interfaceChoiceAuthority- Parameters:
query- user's value to matchstart- choice at which to start, 0 is first.limit- maximum number of choices to return, 0 for no limit.locale- explicit localization key if available, or null- Returns:
- a Choices object (never null).
-
getBestMatch
public Choices getBestMatch(String text, String locale)
Description copied from interface:ChoiceAuthorityGet the single "best" match (if any) of a value in the authority to the given user value. The "confidence" element of Choices is expected to be set to a meaningful value about the circumstances of this match. This call is typically used in non-interactive metadata ingest where there is no interactive agent to choose from among options.- Specified by:
getBestMatchin interfaceChoiceAuthority- Parameters:
text- user's value to matchlocale- explicit localization key if available, or null- Returns:
- a Choices object (never null) with 1 or 0 values.
-
getLabel
public String getLabel(String key, String locale)
Description copied from interface:ChoiceAuthorityGet the canonical user-visible "label" (i.e. short descriptive text) for a key in the authority. Can be localized given the implicit or explicit locale specification. This may get called many times while populating a Web page so it should be implemented as efficiently as possible.- Specified by:
getLabelin interfaceChoiceAuthority- Parameters:
key- authority key known to this authority.locale- explicit localization key if available, or null- Returns:
- descriptive label - should always return something, never null.
-
isScrollable
public boolean isScrollable()
Description copied from interface:ChoiceAuthorityScrollable authorities allows the scroll of the entries without applying filter/query to the#getMatches(String, String, Collection, int, int, String)- Specified by:
isScrollablein interfaceChoiceAuthority- Returns:
trueif scrollable, defaultfalse
-
-