Interface ProseDirectCommunicationTransmissionDataContainer

  • All Superinterfaces:
    Cloneable, DiameterAvp, GroupedAvp

    public interface ProseDirectCommunicationTransmissionDataContainer
    extends GroupedAvp
    Defines an interface representing the ProSe-Direct-Communication-Transmission-Data-Container grouped AVP type. From the Diameter Rf Reference Point Protocol Details (3GPP TS 32.299 V12.11.0) specification:
     7.2.154 B    ProSe-Direct-Communication-Transmission-Data-Container AVP
     
     The ProSe-Direct-Communication-Transmission-Data-Container AVP (AVP code 3441) is of type Grouped. Its purpose is to allow the transmission of the container to be reported for ProSe Charging. On encountering change on ProSe charging condition, this container  identifies the volume count for transmitting within a ProSe group communication.
     It has the following ABNF grammar:
     
                 ProSe-Direct-Communication-Transmission-Data-Container ::=  < AVP Header: 3441>
                                                                             [ Local-Sequence-Number ]
                                                                             [ Coverage-Status ]
                                                                             [ TGPP-User-Location-Info ]
                                                                             [ Accounting-Output-Octets ]
                                                                             [ Change-Time ]
                                                                             [ Change-Condition ]
                                                                             [ Visited-PLMN-Id ]
                                                                             [ Usage-Information-Report-Sequence-Number ] 
                                                                             [ Radio-Resources-Indicator ]
                                                                             [ Radio-Frequency ]
     
     
    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

      • hasLocalSequenceNumber

        boolean hasLocalSequenceNumber()
        Returns true if the Local-Sequence-Number AVP is present in the ProSe-Direct-Communication-Transmission-Data-Container AVP.
      • getLocalSequenceNumber

        long getLocalSequenceNumber()
        Returns the value of the Local-Sequence-Number AVP, of type Unsigned32. Use hasLocalSequenceNumber() to check the existence of this AVP.
        Returns:
        the value of the Local-Sequence-Number AVP
        Throws:
        IllegalStateException - if the Local-Sequence-Number AVP has not been set.
      • setLocalSequenceNumber

        void setLocalSequenceNumber​(long localSequenceNumber)
        Sets the value of the Local-Sequence-Number AVP, of type Unsigned32.
      • removeLocalSequenceNumber

        void removeLocalSequenceNumber()
        Removes the Local-Sequence-Number AVP from the ProSe-Direct-Communication-Transmission-Data-Container AVP. If the Local-Sequence-Number AVP is not present, this method returns silently.
      • hasCoverageStatus

        boolean hasCoverageStatus()
        Returns true if the Coverage-Status AVP is present in the ProSe-Direct-Communication-Transmission-Data-Container AVP.
      • getCoverageStatus

        CoverageStatus getCoverageStatus()
        Returns the value of the Coverage-Status AVP, of type Enumerated.
        Returns:
        the value of the Coverage-Status AVP, or null if it has not been set.
      • setCoverageStatus

        void setCoverageStatus​(CoverageStatus coverageStatus)
        Sets the value of the Coverage-Status AVP, of type Enumerated.
        Throws:
        NullPointerException - if coverageStatus is null.
      • removeCoverageStatus

        void removeCoverageStatus()
        Removes the Coverage-Status AVP from the ProSe-Direct-Communication-Transmission-Data-Container AVP. If the Coverage-Status AVP is not present, this method returns silently.
      • hasTgppUserLocationInfo

        boolean hasTgppUserLocationInfo()
        Returns true if the TGPP-User-Location-Info AVP is present in the ProSe-Direct-Communication-Transmission-Data-Container 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 ProSe-Direct-Communication-Transmission-Data-Container AVP. If the TGPP-User-Location-Info AVP is not present, this method returns silently.
      • hasAccountingOutputOctets

        boolean hasAccountingOutputOctets()
        Returns true if the Accounting-Output-Octets AVP is present in the ProSe-Direct-Communication-Transmission-Data-Container AVP.
      • getAccountingOutputOctets

        long getAccountingOutputOctets()
        Returns the value of the Accounting-Output-Octets AVP, of type Unsigned64. Use hasAccountingOutputOctets() to check the existence of this AVP.
        Returns:
        the value of the Accounting-Output-Octets AVP
        Throws:
        IllegalStateException - if the Accounting-Output-Octets AVP has not been set.
      • setAccountingOutputOctets

        void setAccountingOutputOctets​(long accountingOutputOctets)
        Sets the value of the Accounting-Output-Octets AVP, of type Unsigned64.
      • removeAccountingOutputOctets

        void removeAccountingOutputOctets()
        Removes the Accounting-Output-Octets AVP from the ProSe-Direct-Communication-Transmission-Data-Container AVP. If the Accounting-Output-Octets AVP is not present, this method returns silently.
      • hasChangeTime

        boolean hasChangeTime()
        Returns true if the Change-Time AVP is present in the ProSe-Direct-Communication-Transmission-Data-Container 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 ProSe-Direct-Communication-Transmission-Data-Container AVP. If the Change-Time AVP is not present, this method returns silently.
      • hasChangeCondition

        boolean hasChangeCondition()
        Returns true if the Change-Condition AVP is present in the ProSe-Direct-Communication-Transmission-Data-Container AVP.
      • getChangeCondition

        int getChangeCondition()
        Returns the value of the Change-Condition AVP, of type Integer32. Use hasChangeCondition() to check the existence of this AVP.
        Returns:
        the value of the Change-Condition AVP
        Throws:
        IllegalStateException - if the Change-Condition AVP has not been set.
      • setChangeCondition

        void setChangeCondition​(int changeCondition)
        Sets the value of the Change-Condition AVP, of type Integer32.
      • removeChangeCondition

        void removeChangeCondition()
        Removes the Change-Condition AVP from the ProSe-Direct-Communication-Transmission-Data-Container AVP. If the Change-Condition AVP is not present, this method returns silently.
      • hasVisitedPlmnId

        boolean hasVisitedPlmnId()
        Returns true if the Visited-PLMN-Id AVP is present in the ProSe-Direct-Communication-Transmission-Data-Container AVP.
      • getVisitedPlmnId

        byte[] getVisitedPlmnId()
        Returns the value of the Visited-PLMN-Id AVP, of type OctetString.
        Returns:
        the value of the Visited-PLMN-Id AVP, or null if it has not been set.
      • setVisitedPlmnId

        void setVisitedPlmnId​(byte[] visitedPlmnId)
        Sets the value of the Visited-PLMN-Id AVP, of type OctetString.
        Throws:
        NullPointerException - if visitedPlmnId is null.
      • removeVisitedPlmnId

        void removeVisitedPlmnId()
        Removes the Visited-PLMN-Id AVP from the ProSe-Direct-Communication-Transmission-Data-Container AVP. If the Visited-PLMN-Id AVP is not present, this method returns silently.
      • hasUsageInformationReportSequenceNumber

        boolean hasUsageInformationReportSequenceNumber()
        Returns true if the Usage-Information-Report-Sequence-Number AVP is present in the ProSe-Direct-Communication-Transmission-Data-Container AVP.
      • getUsageInformationReportSequenceNumber

        int getUsageInformationReportSequenceNumber()
        Returns the value of the Usage-Information-Report-Sequence-Number AVP, of type Integer32. Use hasUsageInformationReportSequenceNumber() to check the existence of this AVP.
        Returns:
        the value of the Usage-Information-Report-Sequence-Number AVP
        Throws:
        IllegalStateException - if the Usage-Information-Report-Sequence-Number AVP has not been set.
      • setUsageInformationReportSequenceNumber

        void setUsageInformationReportSequenceNumber​(int usageInformationReportSequenceNumber)
        Sets the value of the Usage-Information-Report-Sequence-Number AVP, of type Integer32.
      • removeUsageInformationReportSequenceNumber

        void removeUsageInformationReportSequenceNumber()
        Removes the Usage-Information-Report-Sequence-Number AVP from the ProSe-Direct-Communication-Transmission-Data-Container AVP. If the Usage-Information-Report-Sequence-Number AVP is not present, this method returns silently.
      • hasRadioResourcesIndicator

        boolean hasRadioResourcesIndicator()
        Returns true if the Radio-Resources-Indicator AVP is present in the ProSe-Direct-Communication-Transmission-Data-Container AVP.
      • getRadioResourcesIndicator

        int getRadioResourcesIndicator()
        Returns the value of the Radio-Resources-Indicator AVP, of type Integer32. Use hasRadioResourcesIndicator() to check the existence of this AVP.
        Returns:
        the value of the Radio-Resources-Indicator AVP
        Throws:
        IllegalStateException - if the Radio-Resources-Indicator AVP has not been set.
      • setRadioResourcesIndicator

        void setRadioResourcesIndicator​(int radioResourcesIndicator)
        Sets the value of the Radio-Resources-Indicator AVP, of type Integer32.
      • removeRadioResourcesIndicator

        void removeRadioResourcesIndicator()
        Removes the Radio-Resources-Indicator AVP from the ProSe-Direct-Communication-Transmission-Data-Container AVP. If the Radio-Resources-Indicator AVP is not present, this method returns silently.
      • hasRadioFrequency

        boolean hasRadioFrequency()
        Returns true if the Radio-Frequency AVP is present in the ProSe-Direct-Communication-Transmission-Data-Container AVP.
      • getRadioFrequency

        byte[] getRadioFrequency()
        Returns the value of the Radio-Frequency AVP, of type OctetString.
        Returns:
        the value of the Radio-Frequency AVP, or null if it has not been set.
      • setRadioFrequency

        void setRadioFrequency​(byte[] radioFrequency)
        Sets the value of the Radio-Frequency AVP, of type OctetString.
        Throws:
        NullPointerException - if radioFrequency is null.
      • removeRadioFrequency

        void removeRadioFrequency()
        Removes the Radio-Frequency AVP from the ProSe-Direct-Communication-Transmission-Data-Container AVP. If the Radio-Frequency 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 ProSe-Direct-Communication-Transmission-Data-Container 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 ProSe-Direct-Communication-Transmission-Data-Container 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 ProSe-Direct-Communication-Transmission-Data-Container AVP. If no extension AVPs are present, this method returns silently.