Interface LocationInfo

  • All Superinterfaces:
    Cloneable, DiameterAvp, GroupedAvp

    public interface LocationInfo
    extends GroupedAvp
    Defines an interface representing the Location-Info grouped AVP type. From the Diameter Rf Reference Point Protocol Details (3GPP TS 32.299 V12.11.0) specification:
     7.2.95 A Location-Info AVP
     
     The Location-Info AVP (AVP code 3460) is of type Grouped and provides information on the location (i.e., ECGI) and associated time for the change to that location.
     It has the following ABNF grammar:
     
         Location-Info ::= < AVP Header: 3460>
                             [ TGPP-User-Location-Info ]
                             [ Change-Time ]
     
    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

      • hasTgppUserLocationInfo

        boolean hasTgppUserLocationInfo()
        Returns true if the TGPP-User-Location-Info AVP is present in the Location-Info AVP.
      • getTgppUserLocationInfo

        byte[] getTgppUserLocationInfo()
        Returns the value of the TGPP-User-Location-Info AVP, of type OctetString.
        Returns:
        the value of the TGPP-User-Location-Info AVP, or null if it has not been set.
      • setTgppUserLocationInfo

        void setTgppUserLocationInfo​(byte[] tgppUserLocationInfo)
        Sets the value of the TGPP-User-Location-Info AVP, of type OctetString.
        Throws:
        NullPointerException - if tgppUserLocationInfo is null.
      • removeTgppUserLocationInfo

        void removeTgppUserLocationInfo()
        Removes the TGPP-User-Location-Info AVP from the Location-Info AVP. If the TGPP-User-Location-Info AVP is not present, this method returns silently.
      • hasChangeTime

        boolean hasChangeTime()
        Returns true if the Change-Time AVP is present in the Location-Info AVP.
      • getChangeTime

        Date getChangeTime()
        Returns the value of the Change-Time AVP, of type Time.
        Returns:
        the value of the Change-Time AVP, or null if it has not been set.
      • setChangeTime

        void setChangeTime​(Date changeTime)
        Sets the value of the Change-Time AVP, of type Time.
        Throws:
        NullPointerException - if changeTime is null.
      • removeChangeTime

        void removeChangeTime()
        Removes the Change-Time AVP from the Location-Info AVP. If the Change-Time 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 Location-Info 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 Location-Info 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 Location-Info AVP. If no extension AVPs are present, this method returns silently.