Class DCInputAuthority

  • All Implemented Interfaces:
    ChoiceAuthority

    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.DCInputAuthority It 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 Detail

      • DCInputAuthority

        public DCInputAuthority()
    • Method Detail

      • getPluginNames

        public static String[] getPluginNames()
      • getMatches

        public Choices getMatches​(String field,
                                  String query,
                                  Collection collection,
                                  int start,
                                  int limit,
                                  String locale)
        Description copied from interface: ChoiceAuthority
        Get 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:
        getMatches in interface ChoiceAuthority
        Parameters:
        field - being matched for
        query - 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

        public Choices getBestMatch​(String field,
                                    String text,
                                    Collection 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 for
        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

        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 for
        key - authority key known to this authority.
        locale - explicit localization key if available, or null
        Returns:
        descriptive label - should always return something, never null.