Class TierTableInstanceModel

java.lang.Object
com.highdeal.pnr.hci.TierTableInstanceModel
All Implemented Interfaces:
XMLMarshallable

public class TierTableInstanceModel extends Object implements XMLMarshallable
This class represents a tier table instance.

The instance must meets the following constraints:

  • Rows must be ordered by group name. In others words, all rows of the same group must be together.
  • Rows with null input string (default group) must be at the end.
  • Inside a group, rows must be ordered by growing lower range (empty value in first).
  • Inside a group, range of rows must cover all numeric value (from -Infinity up to +Infinity)
  • Inside a group, ranges must not overlap.
  • Instances inside TierTableModel (directly or through getInstanceChronology()) it must contains at least the default group.

XML API for HCI

The XML APIs specify the following XSD fragment:

XSD Fragment

<xs:element name="tierTableInstance">
   <xs:complexType>
     <xs:sequence>
       <xs:element ref="tierTableRow" minOccurs="0" maxOccurs="unbounded"/>
     </xs:sequence>
     <xs:attribute name="tableCode" type="xs:string" use="required"/>
     <xs:attribute name="name" type="xs:string"/>
     <xs:attribute name="isPrivate" type="xs:boolean" default="false"/>
     <xs:attribute name="instanceName" type="xs:string"/>
   </xs:complexType>
 </xs:element>

  • Constructor Details

    • TierTableInstanceModel

      public TierTableInstanceModel()
      Builds an empty TierInstanceModel.
    • TierTableInstanceModel

      public TierTableInstanceModel(String name, String tableCode, boolean isPrivate, String instanceName)
      Builds a TierTableInstanceModel from a tier table code.
      Parameters:
      name -
      tableCode -
      isPrivate -
      instanceName -
    • TierTableInstanceModel

      public TierTableInstanceModel(String tableCode)
      Builds a TierTableInstanceModel from a tier table code.
      Parameters:
      tableCode -
  • Method Details

    • getTableCode

      public String getTableCode()
      Gets the table code.
      Returns:
      the table code.
    • setTableCode

      public void setTableCode(String code)
      Sets the table code.
      Parameters:
      code - the table code.
    • getName

      public String getName()
      Returns the name of the instance.
      Returns:
      the name of the instance.
    • setName

      public void setName(String name)
      Sets the name of the instance.
      Parameters:
      name - the name of the instance.
    • getRows

      public Vector<TierTableRowModel> getRows()
      Gets the rows.
      Returns:
      a Vector of TierTableRowModel representing rows.
    • getInstanceName

      public String getInstanceName()
      Returns the mapped instance name.
      Returns:
      the name of the mapped instance.
    • setInstanceName

      public void setInstanceName(String instanceName)
      Sets the mapped instance name.
      Parameters:
      instanceName - the name of the mapped instance.
    • isPrivate

      public boolean isPrivate()
      Returns the visibility of the instance.
      Returns:
      true if the instance is private.
    • setPrivate

      public void setPrivate(boolean isPrivate)
      Sets the instance visibility.
      Parameters:
      isPrivate - the level of the visibility.
    • isValid

      public boolean isValid(TierTableModel tm)
      Returns true if the tier table is valid.
      Parameters:
      tm - the tier table Model.
      Returns:
      true if the tier table is valid, false otherwise.
    • hasMissingPeriods

      public boolean hasMissingPeriods()
      Checks if the tier table instance has missing periods. More precisely this method tests if the inclusion/exclusion of bounds of consecutive row are consistent.
      Returns:
      true if the tier table instance has missing periods, false otherwise.
    • hasOverlappingPeriods

      public boolean hasOverlappingPeriods()
      Checks if the tier table instance has overlapping periods
      Returns:
      true if the tier table instance has overlapping periods, false otherwise.
    • areRowsOrdered

      public boolean areRowsOrdered()
      Checks if the tier table instance rows are chronologicaly ordered
      Returns:
      true if the tier table instance rows are chronologicaly ordered, false otherwise.
    • setAttributes

      public void setAttributes(XMLAttributes atts)
      Description copied from interface: XMLMarshallable
      Sets the attributes of the XML representation of the element being processed.
      Specified by:
      setAttributes in interface XMLMarshallable
      Parameters:
      atts - The XML attributes of the current element
    • addCharacterData

      public void addCharacterData(String cData)
      Description copied from interface: XMLMarshallable
      Adds character data to the content element.
      Specified by:
      addCharacterData in interface XMLMarshallable
      Parameters:
      cData - The character data to be added
    • addChild

      public void addChild(String tagName, XMLMarshallable child)
      Description copied from interface: XMLMarshallable
      Adds a child to the object, the child representing the marshallable object which must be added to the element.
      Specified by:
      addChild in interface XMLMarshallable
      Parameters:
      tagName - The name of tag for the child
      child - The child to be added
    • marshal

      public void marshal(XMLOutputter output)
      Description copied from interface: XMLMarshallable
      Gives an XML representation of this object, including its children.
      Specified by:
      marshal in interface XMLMarshallable
      Parameters:
      output - The XML output to marshal the object into