org.dspace.content.authority
Class DSpaceControlledVocabulary
java.lang.Object
org.dspace.core.SelfNamedPlugin
org.dspace.content.authority.DSpaceControlledVocabulary
- All Implemented Interfaces:
- ChoiceAuthority
public class DSpaceControlledVocabulary
- extends SelfNamedPlugin
- implements ChoiceAuthority
ChoiceAuthority source that reads the JSPUI-style hierarchical vocabularies
from ${dspace.dir}/config/controlled-vocabularies/*.xml and turns them into
autocompleting authorities.
Configuration:
This MUST be configured as a self-named plugin, e.g.:
plugin.selfnamed.org.dspace.content.authority.ChoiceAuthority = \
org.dspace.content.authority.DSpaceControlledVocabulary
It AUTOMATICALLY configures a plugin instance for each XML file in the
controlled vocabularies directory. The name of the plugin is the basename
of the file; e.g., "${dspace.dir}/config/controlled-vocabularies/nsi.xml"
would generate a plugin called "nsi".
Each configured plugin comes with three configuration options:
vocabulary.plugin._plugin_.hierarchy.store = # Store entire hierarchy along with selected value. Default: TRUE
vocabulary.plugin._plugin_.hierarchy.suggest = # Display entire hierarchy in the suggestion list. Default: TRUE
vocabulary.plugin._plugin_.delimiter = "" # Delimiter to use when building hierarchy strings. Default: "::"
- Author:
- Michael B. Klein
|
Method Summary |
Choices |
getBestMatch(String field,
String text,
int collection,
String locale)
Get the single "best" match (if any) of a value in the authority
to the given user value. |
String |
getLabel(String field,
String key,
String locale)
Get the canonical user-visible "label" (i.e. |
Choices |
getMatches(String field,
String text,
int collection,
int start,
int limit,
String locale)
Get all values from the authority that match the profferred value. |
static String[] |
getPluginNames()
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DSpaceControlledVocabulary
public DSpaceControlledVocabulary()
getPluginNames
public static String[] getPluginNames()
getMatches
public Choices getMatches(String field,
String text,
int collection,
int start,
int limit,
String locale)
- Description copied from interface:
ChoiceAuthority
- Get all values from the authority that match the profferred 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:
getMatches in interface ChoiceAuthority
- Parameters:
field - being matched fortext - user's value to matchcollection - database ID of Collection for context (owner of Item)start - 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 field,
String text,
int collection,
String locale)
- Description copied from interface:
ChoiceAuthority
- Get 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:
getBestMatch in interface ChoiceAuthority
- Parameters:
field - being matched fortext - user's value to matchcollection - database ID of Collection for context (owner of Item)locale - explicit localization key if available, or null
- Returns:
- a Choices object (never null) with 1 or 0 values.
getLabel
public String getLabel(String field,
String key,
String locale)
- Description copied from interface:
ChoiceAuthority
- Get 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:
getLabel in interface ChoiceAuthority
- Parameters:
field - being matched forkey - authority key known to this authority.locale - explicit localization key if available, or null
- Returns:
- descriptive label - should always return something, never null.
Copyright © 2011 DuraSpace. All Rights Reserved.