Class AbstractEnumeration

java.lang.Object
com.polarion.platform.persistence.spi.AbstractEnumeration
All Implemented Interfaces:
IEnumeration
Direct Known Subclasses:
RepoBasedEnumeration

public abstract class AbstractEnumeration extends Object implements IEnumeration
Abstract implementation of an enum factory.
Author:
POLARION SOFTWARE
  • Constructor Details

    • AbstractEnumeration

      public AbstractEnumeration(String enumId)
  • Method Details

    • getAllOptions

      public List getAllOptions()
      Specified by:
      getAllOptions in interface IEnumeration
      Returns:
      Sorted list of all IEnumOptions across all the control key values.
    • getAvailableOptions

      public List getAvailableOptions(Object controlValue)
      Description copied from interface: IEnumeration
      Currently, the control value can be only String or IEnumOption. Passing in something else will result in UnsupportedOperationException

      Specified by:
      getAvailableOptions in interface IEnumeration
      Parameters:
      controlValue - Can be null.
      Returns:
      Sorted list of all the valid options for given control key value.
    • getAvailableOptions

      public List getAvailableOptions(Object controlValue, IEnumOption currentValue)
      Description copied from interface: IEnumeration
      Currently, the control value can be only String or IEnumOption. Passing in something else will result in UnsupportedOperationException.

      Specified by:
      getAvailableOptions in interface IEnumeration
      Returns:
      Sorted list of IEnumOptions, containing all the values returned by IEnumeration.getAvailableOptions(Object) plus the currentValue option.
    • getControlKey

      public String getControlKey()
      Default impl returns null. Override if necessary.
      Specified by:
      getControlKey in interface IEnumeration
      Returns:
      Name of the key on the object, which controls the option set of this enumeration.
    • getDefaultOption

      public IEnumOption getDefaultOption(Object controlValue)
      Specified by:
      getDefaultOption in interface IEnumeration
      Parameters:
      controlValue - The control value, since the default value might depend on it.
      Returns:
      the default option from the enumeration
    • getDefaultOption

      public abstract IEnumOption getDefaultOption(String controlValue)
    • wrapOption

      public IEnumOption wrapOption(String optionId)
      Description copied from interface: IEnumeration
      Wraps any given ID into a valid option of this enumeration.

      This is needed to correctly handle any values coming e.g. from the storage.

      This method checks all the option definitions for all controlValues and returns the correct value if it appears in any of them. If no definition is found, then phantom option is created.

      Specified by:
      wrapOption in interface IEnumeration
      Parameters:
      optionId - option id (not null)
      Returns:
      the option wrapped as an IEnumOption (not null)
    • wrapOption

      public IEnumOption wrapOption(String optionId, Object controlValue)
      Description copied from interface: IEnumeration
      Wraps any given ID into a valid option of this enumeration.

      This method checks only the option definition for given controlValue (even if null). If no definition is found, then phantom option is created.

      Specified by:
      wrapOption in interface IEnumeration
      Parameters:
      optionId - option id (not null)
      controlValue - control value
      Returns:
      the option wrapped as an IEnumOption (not null)
      See Also:
    • wrapOption

      public IEnumOption wrapOption(String optionId, IPObject pobject)
      Description copied from interface: IEnumeration
      Wraps any given ID into a valid option of this enumeration.

      This method checks only the option definition applicable to given object. If no definition is found, then phantom option is created.

      If pobject is not specified then it acts as IEnumeration.wrapOption(String, Object) with null control value.

      Specified by:
      wrapOption in interface IEnumeration
      Parameters:
      optionId - option id (not null)
      pobject - persistence object
      Returns:
      the option wrapped as an IEnumOption (not null)
      See Also: