Class PropertySupport

java.lang.Object
io.xlate.edi.stream.PropertySupport
Direct Known Subclasses:
EDIInputFactory, EDIOutputFactory

public abstract class PropertySupport extends Object
Abstract parent class for factories that support setting, retrieving, and checking whether properties are supported.
  • Field Details

    • supportedProperties

      protected final Set<String> supportedProperties
      Set of property keys/names supported by the subclass.
    • properties

      protected final Map<String,Object> properties
      Map of properties actually configured by the subclass.
  • Constructor Details

    • PropertySupport

      protected PropertySupport()
      Default constructor, initialize fields to empty collections.
  • Method Details

    • isPropertySupported

      public boolean isPropertySupported(String name)
      Query the set of properties that this factory supports.
      Parameters:
      name - - The name of the property (may not be null)
      Returns:
      true if the property is supported and false otherwise
    • getProperty

      public Object getProperty(String name)
      Get the value of a feature/property from the underlying implementation
      Parameters:
      name - - The name of the property (may not be null)
      Returns:
      The value of the property
      Throws:
      IllegalArgumentException - if the property is not supported
    • setProperty

      public void setProperty(String name, Object value)
      Allows the user to set specific feature/property on the underlying implementation. The underlying implementation is not required to support every setting of every property in the specification and may use IllegalArgumentException to signal that an unsupported property may not be set with the specified value.
      Parameters:
      name - - The name of the property (may not be null)
      value - - The value of the property
      Throws:
      IllegalArgumentException - if the property is not supported