cdac.medinfo.sdk.hl7282.baselibs

## Class MOP

- java.lang.Object
- - cdac.medinfo.sdk.hl7282.baselibs.CompositeDataType
  - - cdac.medinfo.sdk.hl7282.baselibs.MOP

- All Implemented Interfaces:
    IDataType

      public class MOP
      extends CompositeDataType

  MOP - Money or Percentage

  This data type specifies an amount that may be either currency or a percentage. It is a variation on the MO data type that is limited to currency.

  Represents an HL7 MOP data type. This data type has the following attributes:

  1. Money or Percentage Indicator (ID)Required
  2. Money or Percentage Quantity (NM)Required
  3. Currency Denomination (ID)Optional

  This class provides accessors & mutators for the elements mentioned above. This class override the equal method, to check whether some other object is "equal to" this one.

  User can also create Data Type through `DataElementFactory`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `MOP()` Default Constructor for MOP
    `MOP(int iComponentType, IDataTypeMap objIDataTypeMap)` Constructor for MOP class which takes two arguments and sets the value in the respective member variable.
    `MOP(int iComponentType, int iMinLength, int iMaxLength, java.lang.String strCLength, IDataTypeMap objIDataTypeMap)` Constructor for MOP class which takes five arguments and sets the value in the respective member variable.
    `MOP(int iComponentType, int iMinLength, int iMaxLength, java.lang.String strCLength, int ITableNo, IDataTypeMap objIDataTypeMap)` Constructor for MOP class which takes six arguments and sets the value in the respective member variable.
    `MOP(int iMinLength, int iMaxLength, java.lang.String strCLength, int iComponentType)` Constructor for MOP class which takes four arguments and sets the value in the respective member variable.
    `MOP(int iMinLength, int iMaxLength, java.lang.String strCLength, int iTableNo, int iComponentType)` Constructor for MOP class which takes five arguments and sets the value in the respective member variable.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(java.lang.Object objObject)` This method checks the equality of Object.
    `ID` | `getCurrencyDenomination()` Returns Currency Denomination
    `ID` | `getMoneyOrPercentageIndicator()` Returns Money or Percentage Indicator
    `NM` | `getMoneyOrPercentageQuantity()` Returns Money or Percentage Quantity
    `void` | `setCurrencyDenomination(ID objID)` Sets the CurrencyDenomination.
    `void` | `setCurrencyDenomination(java.lang.String strCurrencyDenomination)` Sets the CurrencyDenomination.
    `void` | `setMoneyOrPercentageIndicator(ID objID)` Sets the MoneyOrPercentageIndicator.
    `void` | `setMoneyOrPercentageIndicator(java.lang.String strMoneyOrPercentageIndicator)` Sets the MoneyOrPercentageIndicator.
    `void` | `setMoneyOrPercentageQuantity(NM objNM)` Sets the MoneyOrPercentageQuantity.
    `void` | `setMoneyOrPercentageQuantity(java.lang.String strMoneyOrPercentageQuantity)` Sets the MoneyOrPercentageQuantity.
    `boolean` | `validate()` The Method validates the Input value,and if validated properly then returns true.

    - ### Methods inherited from class cdac.medinfo.sdk.hl7282.baselibs.CompositeDataType

      `copy, dumpDataType, getAttributes, getDataTypeName, getLength, getValue, isPrimitive, read, setValue, write, writeToXML`

    - ### Methods inherited from class java.lang.Object

      `getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### MOP

          public MOP()

      Default Constructor for MOP

    - #### MOP

          public MOP(int iMinLength,
             int iMaxLength,
             java.lang.String strCLength,
             int iComponentType)
              throws InvalidComponentTypeException

      Constructor for MOP class which takes four arguments and sets the value in the respective member variable.
      Parameters:
        `iMinLength` - The Minimum length the DataType can have.
        `iMaxLength` - The Maximum length the DataType can have.
        `iCLength` - The Conformance length the DataType can have.
        `iComponentType` - The Type of the component i.e Component or a subcomponent.
      Throws:
        `InvalidComponentTypeException` - - if Component Type is not specified or valid.

    - #### MOP

          public MOP(int iMinLength,
             int iMaxLength,
             java.lang.String strCLength,
             int iTableNo,
             int iComponentType)
              throws InvalidComponentTypeException

      Constructor for MOP class which takes five arguments and sets the value in the respective member variable.
      Parameters:
        `iMinLength` - The Minimum length the DataType can have.
        `iMaxLength` - The Maximum length the DataType can have.
        `iCLength` - The Conformance length the DataType can have.
        `iTableNo` - The Table number to which the value for the component is specified.
        `iComponentType` - The Type of the component i.e Component or a subcomponent.
      Throws:
        `InvalidComponentTypeException` - - if Component Type is not specified or valid.

    - #### MOP

          public MOP(int iComponentType,
             IDataTypeMap objIDataTypeMap)

      Constructor for MOP class which takes two arguments and sets the value in the respective member variable.
      Parameters:
        `objIDataTypeMap` - object of Data Type Map.
        `iComponentType` - The Type of the component i.e Component or a subcomponent.
      Throws:
        `InvalidComponentTypeException` - - if Component Type is not specified or valid.

    - #### MOP

          public MOP(int iComponentType,
             int iMinLength,
             int iMaxLength,
             java.lang.String strCLength,
             IDataTypeMap objIDataTypeMap)

      Constructor for MOP class which takes five arguments and sets the value in the respective member variable.
      Parameters:
        `objIDataTypeMap` - object of Data Type Map.
        `iComponentType` - The Type of the component i.e Component or a subcomponent.
        `iMinLength` - The Minimum length the DataType can have.
        `iMaxLength` - The Maximum length the DataType can have.
        `iCLength` - The Conformance length the DataType can have.
      Throws:
        `InvalidComponentTypeException` - - if Component Type is not specified or valid.

    - #### MOP

          public MOP(int iComponentType,
             int iMinLength,
             int iMaxLength,
             java.lang.String strCLength,
             int ITableNo,
             IDataTypeMap objIDataTypeMap)

      Constructor for MOP class which takes six arguments and sets the value in the respective member variable.
      Parameters:
        `objIDataTypeMap` - object of Data Type Map.
        `iComponentType` - The Type of the component i.e Component or a subcomponent.
        `iMinLength` - The Minimum length the DataType can have.
        `iMaxLength` - The Maximum length the DataType can have.
        `iCLength` - The Conformance length the DataType can have.
        `iTableNo` - The Table number to which the value for the component is specified.
      Throws:
        `InvalidComponentTypeException` - - if Component Type is not specified or valid.

  - ### Method Detail

    - #### setMoneyOrPercentageIndicator

          public void setMoneyOrPercentageIndicator(java.lang.String strMoneyOrPercentageIndicator)

      Sets the MoneyOrPercentageIndicator.
      Parameters:
        `strMoneyOrPercentageIndicator` - Specifies whether the amount is currency or a percentage (AT/PC)

    - #### setMoneyOrPercentageIndicator

          public void setMoneyOrPercentageIndicator(ID objID)

      Sets the MoneyOrPercentageIndicator.
      Parameters:
        `objID` - Specifies whether the amount is currency or a percentage (AT/PC)

    - #### setMoneyOrPercentageQuantity

          public void setMoneyOrPercentageQuantity(java.lang.String strMoneyOrPercentageQuantity)

      Sets the MoneyOrPercentageQuantity.
      Parameters:
        `strMoneyOrPercentageQuantity` - Specifies the currency or percentage quantity

    - #### setMoneyOrPercentageQuantity

          public void setMoneyOrPercentageQuantity(NM objNM)

      Sets the MoneyOrPercentageQuantity.
      Parameters:
        `objNM` - Specifies the currency or percentage quantity

    - #### setCurrencyDenomination

          public void setCurrencyDenomination(java.lang.String strCurrencyDenomination)

      Sets the CurrencyDenomination.
      Parameters:
        `strCurrencyDenomination` - the denomination in which the quantity is expressed

    - #### setCurrencyDenomination

          public void setCurrencyDenomination(ID objID)

      Sets the CurrencyDenomination.
      Parameters:
        `objID` - the denomination in which the quantity is expressed

    - #### getMoneyOrPercentageIndicator

          public ID getMoneyOrPercentageIndicator()

      Returns Money or Percentage Indicator
      Returns:
        ID - data type.

    - #### getMoneyOrPercentageQuantity

          public NM getMoneyOrPercentageQuantity()

      Returns Money or Percentage Quantity
      Returns:
        NM - data type.

    - #### getCurrencyDenomination

          public ID getCurrencyDenomination()

      Returns Currency Denomination
      Returns:
        ID - data type.

    - #### validate

          public boolean validate()
                           throws InvalidDataTypeException

      The Method validates the Input value,and if validated properly then returns true. Here the validetion is based on the compulsory fields for the Datatype.
      Specified by:
        `validate` in interface `IDataType`
      Overrides:
        `validate` in class `CompositeDataType`
      Returns:
        boolean - true or false.
      Throws:
        `InvalidDataTypeException` - - if Invalid values is entered or Mandatory field is missing.

    - #### equals

          public boolean equals(java.lang.Object objObject)

      This method checks the equality of Object.
      Overrides:
        `equals` in class `java.lang.Object`
      Parameters:
        `objObject` - object of Object class.
      Returns:
        boolean - shows success or failure of the comparison.