Class Options

java.lang.Object
com.itextpdf.kernel.xmp.options.Options
Direct Known Subclasses:
AliasOptions, IteratorOptions, ParseOptions, PropertyOptions, SerializeOptions

public abstract class Options extends Object
The base class for a collection of 32 flag bits. Individual flags are defined as enum value bit masks. Inheriting classes add convenience accessor methods.
Since:
24.01.2006
  • Field Details

    • options

      private int options
      the internal int containing all options
    • optionNames

      private Map optionNames
      a map containing the bit names
  • Constructor Details

    • Options

      public Options()
      The default constructor.
    • Options

      public Options(int options) throws XMPException
      Constructor with the options bit mask.
      Parameters:
      options - the options bit mask
      Throws:
      XMPException - If the options are not correct
  • Method Details

    • clear

      public void clear()
      Resets the options.
    • isExactly

      public boolean isExactly(int optionBits)
      Parameters:
      optionBits - an option bitmask
      Returns:
      Returns true, if this object is equal to the given options.
    • containsAllOptions

      public boolean containsAllOptions(int optionBits)
      Parameters:
      optionBits - an option bitmask
      Returns:
      Returns true, if this object contains all given options.
    • containsOneOf

      public boolean containsOneOf(int optionBits)
      Parameters:
      optionBits - an option bitmask
      Returns:
      Returns true, if this object contain at least one of the given options.
    • getOption

      protected boolean getOption(int optionBit)
      Parameters:
      optionBit - the binary bit or bits that are requested
      Returns:
      Returns if all of the requested bits are set or not.
    • setOption

      public void setOption(int optionBits, boolean value)
      Parameters:
      optionBits - the binary bit or bits that shall be set to the given value
      value - the boolean value to set
    • getOptions

      public int getOptions()
      Is friendly to access it during the tests.
      Returns:
      Returns the options.
    • setOptions

      public void setOptions(int options) throws XMPException
      Parameters:
      options - The options to set.
      Throws:
      XMPException - thrown if the file is not well-formed XML or if the parsing fails
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
      See Also:
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
      See Also:
    • getOptionsString

      public String getOptionsString()
      Creates a human readable string from the set options. Note: This method is quite expensive and should only be used within tests or as
      Returns:
      Returns a String listing all options that are set to true by their name, like "option1 | option4".
    • toString

      public String toString()
      Overrides:
      toString in class Object
      Returns:
      Returns the options as hex bitmask.
    • getValidOptions

      protected abstract int getValidOptions()
      To be implemeted by inheritants.
      Returns:
      Returns a bit mask where all valid option bits are set.
    • defineOptionName

      protected abstract String defineOptionName(int option)
      To be implemeted by inheritants.
      Parameters:
      option - a single, valid option bit.
      Returns:
      Returns a human readable name for an option bit.
    • assertConsistency

      protected void assertConsistency(int options) throws XMPException
      The inheriting option class can do additional checks on the options. Note: For performance reasons this method is only called when setting bitmasks directly. When get- and set-methods are used, this method must be called manually, normally only when the Options-object has been created from a client (it has to be made public therefore).
      Parameters:
      options - the bitmask to check.
      Throws:
      XMPException - Thrown if the options are not consistent.
    • assertOptionsValid

      private void assertOptionsValid(int options) throws XMPException
      Checks options before they are set. First it is checked if only defined options are used, second the additional assertConsistency(int)-method is called.
      Parameters:
      options - the options to check
      Throws:
      XMPException - Thrown if the options are invalid.
    • getOptionName

      private String getOptionName(int option)
      Looks up or asks the inherited class for the name of an option bit. Its save that there is only one valid option handed into the method.
      Parameters:
      option - a single option bit
      Returns:
      Returns the option name or undefined.
    • procureOptionNames

      private HashMap procureOptionNames()
      Returns:
      Returns the optionNames map and creates it if required.