Class GenericDescriptors

  • All Implemented Interfaces:
    Descriptors

    public class GenericDescriptors
    extends java.lang.Object
    implements Descriptors
    Default implementation of the Descriptors interface. Supports overlying of given default descriptors.
    • Constructor Summary

      Constructors 
      Constructor Description
      GenericDescriptors()
      Constructs an empty descriptors set.
      GenericDescriptors​(@Nullable Descriptors base)
      Constructs a descriptors set that uses the given base descriptors as base.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      @NotNull java.lang.String[] getKeys()
      Returns a string array holding all descriptor keys available for this implementation, both the standard descriptors defined by the string constants in this interface and any implementation-specific descriptors.
      @Nullable Value getValue​(@NotNull java.lang.String key)
      The value of a single-value descriptor is found by passing the key for that descriptor to this method.
      @Nullable Value[] getValues​(@NotNull java.lang.String key)
      The value array of a multi-value descriptor is found by passing the key for that descriptor to this method.
      boolean isSingleValueDescriptor​(@NotNull java.lang.String key)
      Returns true if key is a valid single-value descriptor; otherwise returns false
      boolean isStandardDescriptor​(@NotNull java.lang.String key)
      Returns true if key is a standard descriptor defined by the string constants in this interface and false if it is either a valid implementation-specific key or not a valid key.
      GenericDescriptors put​(@NotNull java.lang.String name, @NotNull Value[] values, boolean singleValued, boolean standard)
      Adds a new descriptor to this set of descriptors which overlay the ones from the base set.
      GenericDescriptors put​(@NotNull java.lang.String name, @NotNull Value value, boolean singleValued, boolean standard)
      Adds a new descriptor to this set of descriptors which overlay the ones from the base set.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • GenericDescriptors

        public GenericDescriptors()
        Constructs an empty descriptors set.
      • GenericDescriptors

        public GenericDescriptors​(@Nullable
                                  @Nullable Descriptors base)
        Constructs a descriptors set that uses the given base descriptors as base.
        Parameters:
        base - the base descriptors or null
    • Method Detail

      • getKeys

        @NotNull
        public @NotNull java.lang.String[] getKeys()
        Returns a string array holding all descriptor keys available for this implementation, both the standard descriptors defined by the string constants in this interface and any implementation-specific descriptors. Used in conjunction with Descriptors.getValue(String key) and Descriptors.getValues(String key) to query information about this repository implementation. Note: If this descriptors are based on default descriptors, the returns string array is a merge of this and the base's keys.
        Specified by:
        getKeys in interface Descriptors
        Returns:
        a string array holding all descriptor keys.
      • isStandardDescriptor

        public boolean isStandardDescriptor​(@NotNull
                                            @NotNull java.lang.String key)
        Returns true if key is a standard descriptor defined by the string constants in this interface and false if it is either a valid implementation-specific key or not a valid key. Note: If the descriptor with key does not exist in this set, the call is delegated to the base descriptors.
        Specified by:
        isStandardDescriptor in interface Descriptors
        Parameters:
        key - a descriptor key.
        Returns:
        whether key is a standard descriptor.
      • isSingleValueDescriptor

        public boolean isSingleValueDescriptor​(@NotNull
                                               @NotNull java.lang.String key)
        Returns true if key is a valid single-value descriptor; otherwise returns false Note: If the descriptor with key does not exist in this set, the call is delegated to the base descriptors.
        Specified by:
        isSingleValueDescriptor in interface Descriptors
        Parameters:
        key - a descriptor key.
        Returns:
        whether the specified descriptor is multi-valued.
      • getValue

        @Nullable
        public @Nullable Value getValue​(@NotNull
                                        @NotNull java.lang.String key)
        The value of a single-value descriptor is found by passing the key for that descriptor to this method. If key is the key of a multi-value descriptor or not a valid key this method returns null. Note: If the descriptor with key does not exist in this set, the call is delegated to the base descriptors.
        Specified by:
        getValue in interface Descriptors
        Parameters:
        key - a descriptor key.
        Returns:
        The value of the indicated descriptor
      • getValues

        @Nullable
        public @Nullable Value[] getValues​(@NotNull
                                           @NotNull java.lang.String key)
        The value array of a multi-value descriptor is found by passing the key for that descriptor to this method. If key is the key of a single-value descriptor then this method returns that value as an array of size one. If key is not a valid key this method returns null. Note: If the descriptor with key does not exist in this set, the call is delegated to the base descriptors.
        Specified by:
        getValues in interface Descriptors
        Parameters:
        key - a descriptor key.
        Returns:
        the value array for the indicated descriptor
      • put

        public GenericDescriptors put​(@NotNull
                                      @NotNull java.lang.String name,
                                      @NotNull
                                      @NotNull Value[] values,
                                      boolean singleValued,
                                      boolean standard)
        Adds a new descriptor to this set of descriptors which overlay the ones from the base set.
        Parameters:
        name - descriptor name
        values - array of descriptor values
        singleValued - flag indicating if this is single valued descriptor. see Descriptors.isSingleValueDescriptor(String)
        standard - flag indicating if this is a standard descriptor. see Descriptors.isStandardDescriptor(String)
        Returns:
        this suitable for chaining.
      • put

        public GenericDescriptors put​(@NotNull
                                      @NotNull java.lang.String name,
                                      @NotNull
                                      @NotNull Value value,
                                      boolean singleValued,
                                      boolean standard)
        Adds a new descriptor to this set of descriptors which overlay the ones from the base set.
        Parameters:
        name - descriptor name
        value - descriptor value
        singleValued - flag indicating if this is single valued descriptor. see Descriptors.isSingleValueDescriptor(String)
        standard - flag indicating if this is a standard descriptor. see Descriptors.isStandardDescriptor(String)
        Returns:
        this suitable for chaining.