Class PropertySerializer<T>

java.lang.Object
net.sourceforge.pmd.properties.PropertySerializer<T>
Direct Known Subclasses:
InternalApiBridge.InternalPropertySerializer

public abstract class PropertySerializer<T> extends Object
Strategy to serialize a value to and from strings.
  • Method Details

    • getConstraints

      public abstract List<PropertyConstraint<? super T>> getConstraints()
      Returns the constraints that this mapper applies to values after parsing them. This may be used for documentation, or to check a constraint on a value that was not parsed from XML.
      Implementation Note:
      See ConstraintDecorator
    • withConstraint

      public PropertySerializer<T> withConstraint(PropertyConstraint<? super T> t)
      Returns a new XML mapper that will check parsed values with the given constraint.
    • fromString

      public abstract T fromString(@NonNull String attributeData)
      Read the value from a string, if it is supported.
      Throws:
      IllegalArgumentException - if something goes wrong (but should be reported on the error reporter)
    • isFromStringDeprecated

      public abstract boolean isFromStringDeprecated(@NonNull String attributeData)
      For properties that are based off enumerated values (see enumeratedValues(), deprecated values might be provided. This method checks whether the given attribute data is actually a deprecated value so that we can issue a warning.
      Since:
      7.21.0
    • toString

      public abstract @NonNull String toString(T value)
      Format the value to a string.
      Throws:
      IllegalArgumentException - if something goes wrong (but should be reported on the error reporter)
    • isCollection

      public abstract boolean isCollection()
      Whether this property allows multiple values.
      Since:
      7.21.0
    • enumeratedValues

      public abstract Set<?> enumeratedValues()
      If this property only allows specific enumerated values, this set contains all possible values. This is useful for documentation. If this property doesn't represent an enumerated property, then the returned set will be empty.
      Since:
      7.21.0