Class SpecificationPlugin

All Implemented Interfaces:
Cloneable, ValueListener

public class SpecificationPlugin extends ObjectValue implements ValueListener
A plug-in for Specification that enforces certain overwriting rules.
Author:
Pinaki Poddar
  • Field Details

    • _loc

      protected static final Localizer _loc
  • Constructor Details

  • Method Details

    • getValueType

      public Class<?> getValueType()
      Description copied from class: Value
      Returns the type of the property that this Value represents.
      Overrides:
      getValueType in class ObjectValue
    • setString

      public void setString(String str)
      Set a value from the given String after validating.
      Overrides:
      setString in class Value
      Parameters:
      str - can be null to set the Specification to null. If non-null, then the String must be in Specification format
      See Also:
      • Specification#create(String)
    • set

      public void set(Object obj)
      Set a value from the given object after validating.
      Overrides:
      set in class ObjectValue
      Parameters:
      obj - can be null to set the Specification to null.
    • validateOverwrite

      protected void validateOverwrite(Specification newSpec)
      Validates if the given Specification can overwrite the current Specification. If the given Specification is not same as the current one, then it is valid to overwrite. If the given Specification is same as the current Specification then it must have a major version number equal or less than the current one.
      Throws:
      fatal - UserException if the given Specification is same as the current Specification but has a higher major version.
      See Also:
    • valueChanged

      public void valueChanged(Value value)
      Description copied from interface: ValueListener
      Callback used by Value objects to notify listener of change.
      Specified by:
      valueChanged in interface ValueListener