Class AccessibleChargeModel

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

public class AccessibleChargeModel extends Object implements XMLMarshallable
This data model is used to facilitate the creation of accesses and defines an accessible charge as a master charge activation that relates to a price plan that includes at least a usage rate.

An accessible charge is specified by:

  • The identifier of the master charge activation (see charge activation code)
  • The identifier of the subscription or the provider contract that includes this charge activation

A contractible object can be either a root Subscription or a ChargingContract.

  • subscriptionCode is the code of the contractible object when the contractible object is a Subscription is the code of the Subscription.
  • chargingContractId is the code of the contractible object when the contractible object is a Subscription is the code of the ChargingContract.

A master charge activation code is unique within a root Subscription or a ChargingContract. Thus an accessible charge represents one and only one charge activation.

An accessible charge is contained within an access, managed thanks to a chronology.

Note

A charge activation with dependent role cannot be directly accessed.

XML API for HCI

The XML APIs specify the following XSD fragment:

XSD Fragment

<xs:element name="accessibleCharge">
   <xs:complexType>
     <xs:attribute name="type" type="AccessibleChargeType" default="subscription"/>
     <xs:attribute name="subscriptionCode" type="xs:string" />
     <xs:attribute name="chargingContractId" type="xs:string" />
     <xs:attribute name="chargeActivationCode" type="xs:string" use="required"/>
   </xs:complexType>
 </xs:element>

  • Constructor Details

    • AccessibleChargeModel

      public AccessibleChargeModel()
      Constructs an empty accessible charge.
    • AccessibleChargeModel

      public AccessibleChargeModel(String subscriptionCode, String chargeActivationCode)
      Constructs a full accessible charge.
      Parameters:
      subscriptionCode - The linked subscription code
      chargeActivationCode - The linked charge activation code
  • Method Details

    • getChargeActivationCode

      public String getChargeActivationCode()
      Gets the code of the charge activation; This code is single within a subscription root.
      Returns:
      The code of the charge activation
      See Also:
    • setChargeActivationCode

      public void setChargeActivationCode(String chargeActivationCode)
      Sets the code of the charge activation.
      Parameters:
      chargeActivationCode - The code of the charge activation
      See Also:
    • getType

      public AccessibleChargeType getType()
      Gets the type of the object that the AccessibleCharge reference.
      Returns:
      The type of the object that the AccessibleCharge reference
    • setType

      public void setType(AccessibleChargeType type)
      Sets the type of the object that the AccessibleCharge reference.
      Parameters:
      type - The type of the object that the AccessibleCharge reference
    • getSubscriptionCode

      public String getSubscriptionCode()
      Gets the code of the subscription root which contains the chargeActivation.
      Returns:
      The code of the subscription
      See Also:
    • setSubscriptionCode

      public void setSubscriptionCode(String subscriptionCode)
      Sets the code of the subscription root which contains the chargeActivation.
      Parameters:
      subscriptionCode - The code of the subscription
      See Also:
    • getChargingContractId

      public String getChargingContractId()
      Gets the identifier of the ChargingContract referencing the ChargeActivation.
      Returns:
      The identifier of the ChargingContract
      See Also:
      • ChargingContractModel.getId()
    • setChargingContractId

      public void setChargingContractId(String chargingContractId)
      Sets the identifier of the ChargingContract referencing the ChargeActivation.
      Parameters:
      chargingContractId - The identifier of the ChargingContract
      See Also:
      • ChargingContractModel.getId()
    • 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
    • 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
    • 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
    • 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