org.dspace.content.authority
Interface ChoiceAuthority

All Known Implementing Classes:
DCInputAuthority, LCNameAuthority, SampleAuthority, SHERPARoMEOJournalTitle, SHERPARoMEOProtocol, SHERPARoMEOPublisher

public interface ChoiceAuthority

Plugin interface that supplies an authority control mechanism for one metadata field.

Author:
Larry Stone
See Also:
ChoiceAuthorityManager, MetadataAuthorityManager

Method Summary
 Choices getBestMatch(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 key, String locale)
          Get the canonical user-visible "label" (i.e.
 Choices getMatches(String text, int collection, int start, int limit, String locale)
          Get all values from the authority that match the proferred value.
 

Method Detail

getMatches

Choices getMatches(String text,
                   int collection,
                   int start,
                   int limit,
                   String locale)
Get all values from the authority that match the proferred 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.

Parameters:
text - user's value to match
collection - 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

Choices getBestMatch(String text,
                     int collection,
                     String locale)
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.

Parameters:
text - user's value to match
collection - 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

String getLabel(String key,
                String locale)
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.

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.


Copyright © 2010 DuraSpace. All Rights Reserved.