Class IndexCoding

All Implemented Interfaces:
Extensible

public class IndexCoding extends SampleCoding
Provides the information required to decode integer sample values that represent index values (e.g. types, classes, categories).
Since:
BEAM 4.2
  • Constructor Details

    • IndexCoding

      public IndexCoding(String name)
      Constructs a new index coding object with the given name.
      Parameters:
      name - the name
  • Method Details

    • getIndex

      public MetadataAttribute getIndex(String name)
      Returns a metadata attribute wich is the representation of the index with the given name. This method delegates to getPropertyValue(String).
      Parameters:
      name - the flag name
      Returns:
      a metadata attribute wich is the representation of the flag with the given name
    • getIndexNames

      public String[] getIndexNames()
      Returns a string array which contains the names of all indexes contained in this IndexCoding object.
      Returns:
      a string array which contains all names of this FlagCoding.
      If this FlagCoding does not contain any flag, null is returned
    • addIndex

      public MetadataAttribute addIndex(String name, int value, String description)
      Adds a new index definition to this flags coding.
      Parameters:
      name - the index name
      value - the index value
      description - the description text
      Returns:
      A new attribute representing the coded index.
      Throws:
      IllegalArgumentException - if name is null
    • getIndexValue

      public int getIndexValue(String name)
      Returns the flag mask value for the specified flag name.
      Parameters:
      name - the flag name
      Returns:
      flagMask the flag's bit mask as a 32 bit integer
      Throws:
      IllegalArgumentException - if name is null, or a flag with the name does not exist
    • acceptVisitor

      public void acceptVisitor(ProductVisitor visitor)
      Accepts the given visitor. This method implements the well known 'Visitor' design pattern of the gang-of-four. The visitor pattern allows to define new operations on the product data model without the need to add more code to it. The new operation is implemented by the visitor.

      The method simply calls visitor.visit(this).

      Overrides:
      acceptVisitor in class MetadataElement
      Parameters:
      visitor - the visitor, must not be null