Interface LcsInformation

  • All Superinterfaces:
    Cloneable, DiameterAvp, GroupedAvp

    public interface LcsInformation
    extends GroupedAvp
    Defines an interface representing the LCS-Information grouped AVP type. From the Diameter Ro Reference Point Protocol Details (3GPP TS 32.299 V9.6.0) specification:
     7.2.89      LCS-Information AVP
     
     The LCS-Information AVP (AVP code 878) is of type Grouped. Its purpose is
     to allow the transmission of additional LCS service specific information
     elements.
     It has the following ABNF grammar:
     
         LCS-Information ::= < AVP Header: 878>
                             [ LCS-Client-Id ]
                             [ Location-Type ]
                             [ Location-Estimate ]
                             [ Positioning-Data ] #exclude
                             [ TGPP-IMSI ] 
                             [ MSISDN ] 
     
    Note:
    The support for extension AVPs is present even thou the ABNF grammar for this AVP does not contain the "* [ AVP ]" line. Be aware that adding any extension AVPs may result in interoperability problems with products that strongly validate the incoming diameter message for it's adherence to the specification.
    • Method Detail

      • hasLcsClientId

        boolean hasLcsClientId()
        Returns true if the LCS-Client-Id AVP is present in the LCS-Information AVP.
      • getLcsClientId

        LcsClientId getLcsClientId()
        Returns the value of the LCS-Client-Id AVP, of type Grouped.
        Returns:
        the value of the LCS-Client-Id AVP, or null if it has not been set.
      • setLcsClientId

        void setLcsClientId​(LcsClientId lcsClientId)
        Sets the value of the LCS-Client-Id AVP, of type Grouped.
        Throws:
        NullPointerException - if lcsClientId is null.
      • removeLcsClientId

        void removeLcsClientId()
        Removes the LCS-Client-Id AVP from the LCS-Information AVP. If the LCS-Client-Id AVP is not present, this method returns silently.
      • hasLocationType

        boolean hasLocationType()
        Returns true if the Location-Type AVP is present in the LCS-Information AVP.
      • getLocationType

        LocationType getLocationType()
        Returns the value of the Location-Type AVP, of type Grouped.
        Returns:
        the value of the Location-Type AVP, or null if it has not been set.
      • setLocationType

        void setLocationType​(LocationType locationType)
        Sets the value of the Location-Type AVP, of type Grouped.
        Throws:
        NullPointerException - if locationType is null.
      • removeLocationType

        void removeLocationType()
        Removes the Location-Type AVP from the LCS-Information AVP. If the Location-Type AVP is not present, this method returns silently.
      • hasLocationEstimate

        boolean hasLocationEstimate()
        Returns true if the Location-Estimate AVP is present in the LCS-Information AVP.
      • getLocationEstimate

        String getLocationEstimate()
        Returns the value of the Location-Estimate AVP, of type UTF8String.
        Returns:
        the value of the Location-Estimate AVP, or null if it has not been set.
      • setLocationEstimate

        void setLocationEstimate​(String locationEstimate)
        Sets the value of the Location-Estimate AVP, of type UTF8String.
        Throws:
        NullPointerException - if locationEstimate is null.
      • removeLocationEstimate

        void removeLocationEstimate()
        Removes the Location-Estimate AVP from the LCS-Information AVP. If the Location-Estimate AVP is not present, this method returns silently.
      • hasTgppImsi

        boolean hasTgppImsi()
        Returns true if the TGPP-IMSI AVP is present in the LCS-Information AVP.
      • getTgppImsi

        String getTgppImsi()
        Returns the value of the TGPP-IMSI AVP, of type UTF8String.
        Returns:
        the value of the TGPP-IMSI AVP, or null if it has not been set.
      • setTgppImsi

        void setTgppImsi​(String tgppImsi)
        Sets the value of the TGPP-IMSI AVP, of type UTF8String.
        Throws:
        NullPointerException - if tgppImsi is null.
      • removeTgppImsi

        void removeTgppImsi()
        Removes the TGPP-IMSI AVP from the LCS-Information AVP. If the TGPP-IMSI AVP is not present, this method returns silently.
      • hasMsisdn

        boolean hasMsisdn()
        Returns true if the MSISDN AVP is present in the LCS-Information AVP.
      • getMsisdn

        byte[] getMsisdn()
        Returns the value of the MSISDN AVP, of type OctetString.
        Returns:
        the value of the MSISDN AVP, or null if it has not been set.
      • setMsisdn

        void setMsisdn​(byte[] msisdn)
        Sets the value of the MSISDN AVP, of type OctetString.
        Throws:
        NullPointerException - if msisdn is null.
      • removeMsisdn

        void removeMsisdn()
        Removes the MSISDN AVP from the LCS-Information AVP. If the MSISDN AVP is not present, this method returns silently.
      • getExtensionAvps

        DiameterAvp[] getExtensionAvps()
        Returns the set of extension AVPs. The returned array contains the extension AVPs in the order they appear in the LCS-Information AVP. A return value of null implies that no extensions AVPs have been set.
      • setExtensionAvps

        void setExtensionAvps​(DiameterAvp[] avps)
                       throws AvpNotAllowedException
        Sets the set of extension AVPs with all the values in the given array. The AVPs will be added to LCS-Information AVP in the order in which they appear in the array. Note: the array must not be altered by the caller following this call, and getExtensionAvps() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        AvpNotAllowedException - if an AVP is encountered of a type already known to this class (i.e. an AVP for which get/set methods already appear in this class)
        NullPointerException - if avps is null.
      • removeExtensionAvps

        void removeExtensionAvps()
        Removes all extension AVPs from the LCS-Information AVP. If no extension AVPs are present, this method returns silently.