Interface RepositoryDataId

  • All Superinterfaces:
    Cloneable, DiameterAvp, GroupedAvp

    public interface RepositoryDataId
    extends GroupedAvp
    Defines an interface representing the Repository-Data-ID grouped AVP type. From the Diameter Sh Reference Point Protocol Details (3GPP TS 29.329 V12.6.0) specification:
     6.3.24      Repository-Data-ID AVP
     
     The Repository-Data-ID AVP is of type Grouped. This AVP shall contain a Service-Indication
     AVP and a Sequence-Number AVP.
     
     AVP format
     Repository-Data-ID  ::=  <AVP Header: 715 10415>
                             { Service-Indication }
                             { Sequence-Number }
                             *[ AVP ]
     
    • Method Detail

      • hasServiceIndication

        boolean hasServiceIndication()
        Returns true if the Service-Indication AVP is present in the Repository-Data-ID AVP.
      • getServiceIndication

        byte[] getServiceIndication()
        Returns the value of the Service-Indication AVP, of type OctetString.
        Returns:
        the value of the Service-Indication AVP, or null if it has not been set.
      • setServiceIndication

        void setServiceIndication​(byte[] serviceIndication)
        Sets the value of the Service-Indication AVP, of type OctetString.
        Throws:
        NullPointerException - if serviceIndication is null.
      • removeServiceIndication

        void removeServiceIndication()
        Removes the Service-Indication AVP from the Repository-Data-ID AVP. If the Service-Indication AVP is not present, this method returns silently.
      • hasSequenceNumber

        boolean hasSequenceNumber()
        Returns true if the Sequence-Number AVP is present in the Repository-Data-ID AVP.
      • getSequenceNumber

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

        void setSequenceNumber​(long sequenceNumber)
        Sets the value of the Sequence-Number AVP, of type Unsigned32.
      • removeSequenceNumber

        void removeSequenceNumber()
        Removes the Sequence-Number AVP from the Repository-Data-ID AVP. If the Sequence-Number 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 Repository-Data-ID 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 Repository-Data-ID 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 Repository-Data-ID AVP. If no extension AVPs are present, this method returns silently.