Interface UserDataRequest

  • All Superinterfaces:
    Cloneable, DiameterMessage, DiameterShBaseMessage, DiameterShMessage

    public interface UserDataRequest
    extends DiameterShMessage
    Defines an interface representing the User-Data-Request command. From the Diameter Sh Reference Point Protocol Details (3GPP TS 29.329 V9.4.0) specification:
     6.1.1        User-Data-Request (UDR) Command
     
     The User-Data-Request (UDR) command, indicated by the Command-Code field set 
     to 306 and the 'R' bit set in the Command Flags field, is sent by a Diameter
     client to a Diameter server in order to request user data.
     
     Message Format
     < User-Data-Request > ::=   < Diameter Header: 306, REQ, PXY, 16777217 >
                                 < Session-Id >
                                 { Vendor-Specific-Application-Id }
                                 { Auth-Session-State }
                                 { Origin-Host }
                                 { Origin-Realm }
                                 [ Destination-Host ]
                                 { Destination-Realm }
                                 *[ Supported-Features ]
                                 { User-Identity }
                                 [ Server-Name ]
                                 [ Wildcarded-PSI ]
                                 [ Wildcarded-IMPU ]
                                 *[ Service-Indication ]
                                 *{ Data-Reference }
                                 *[ Identity-Set ]
                                 [ Requested-Domain ]
                                 [ Current-Location ]
                                 *[ DSAI-Tag ]
                                 [ Session-Priority ] 
                                 [ Requested-Nodes ] 
                                 [ User-Name ]
                                 *[ AVP ]
                                 *[ Proxy-Info ]
                                 *[ Route-Record ]
     
    • Method Detail

      • hasSessionId

        boolean hasSessionId()
        Returns true if the Session-Id AVP is present in the message.
      • getSessionId

        String getSessionId()
        Returns the value of the Session-Id AVP, of type UTF8String.
        Specified by:
        getSessionId in interface DiameterMessage
        Returns:
        the value of the Session-Id AVP or null if it has not been set on this message
      • removeSessionId

        void removeSessionId()
        Removes the Session-Id AVP from the message. If the Session-Id AVP is not present, this method returns silently.
      • removeVendorSpecificApplicationId

        void removeVendorSpecificApplicationId()
        Removes the Vendor-Specific-Application-Id AVP from the message. If the Vendor-Specific-Application-Id AVP is not present, this method returns silently.
      • getAuthSessionState

        AuthSessionState getAuthSessionState()
        Returns the value of the Auth-Session-State AVP, of type Enumerated.
        Specified by:
        getAuthSessionState in interface DiameterShBaseMessage
        Returns:
        the value of the Auth-Session-State AVP or null if it has not been set on this message
      • removeAuthSessionState

        void removeAuthSessionState()
        Removes the Auth-Session-State AVP from the message. If the Auth-Session-State AVP is not present, this method returns silently.
      • hasOriginHost

        boolean hasOriginHost()
        Returns true if the Origin-Host AVP is present in the message.
      • getOriginHost

        DiameterIdentity getOriginHost()
        Returns the value of the Origin-Host AVP, of type DiameterIdentity.
        Specified by:
        getOriginHost in interface DiameterMessage
        Returns:
        the value of the Origin-Host AVP or null if it has not been set on this message
      • removeOriginHost

        void removeOriginHost()
        Removes the Origin-Host AVP from the message. If the Origin-Host AVP is not present, this method returns silently.
      • hasOriginRealm

        boolean hasOriginRealm()
        Returns true if the Origin-Realm AVP is present in the message.
      • getOriginRealm

        DiameterIdentity getOriginRealm()
        Returns the value of the Origin-Realm AVP, of type DiameterIdentity.
        Specified by:
        getOriginRealm in interface DiameterMessage
        Returns:
        the value of the Origin-Realm AVP or null if it has not been set on this message
      • removeOriginRealm

        void removeOriginRealm()
        Removes the Origin-Realm AVP from the message. If the Origin-Realm AVP is not present, this method returns silently.
      • hasDestinationHost

        boolean hasDestinationHost()
        Returns true if the Destination-Host AVP is present in the message.
      • getDestinationHost

        DiameterIdentity getDestinationHost()
        Returns the value of the Destination-Host AVP, of type DiameterIdentity.
        Specified by:
        getDestinationHost in interface DiameterMessage
        Returns:
        the value of the Destination-Host AVP or null if it has not been set on this message
      • removeDestinationHost

        void removeDestinationHost()
        Removes the Destination-Host AVP from the message. If the Destination-Host AVP is not present, this method returns silently.
      • hasDestinationRealm

        boolean hasDestinationRealm()
        Returns true if the Destination-Realm AVP is present in the message.
      • getDestinationRealm

        DiameterIdentity getDestinationRealm()
        Returns the value of the Destination-Realm AVP, of type DiameterIdentity.
        Specified by:
        getDestinationRealm in interface DiameterMessage
        Returns:
        the value of the Destination-Realm AVP or null if it has not been set on this message
      • removeDestinationRealm

        void removeDestinationRealm()
        Removes the Destination-Realm AVP from the message. If the Destination-Realm AVP is not present, this method returns silently.
      • getSupportedFeatureses

        SupportedFeatures[] getSupportedFeatureses()
        Returns the set of Supported-Features AVPs. The returned array contains the AVPs in the order they appear in the message. A return value of null implies that no Supported-Features AVPs have been set. The elements in the given array are SupportedFeatures objects.
        Specified by:
        getSupportedFeatureses in interface DiameterShMessage
      • setSupportedFeatureses

        void setSupportedFeatureses​(SupportedFeatures[] supportedFeatureses)
        Sets the set of Supported-Features AVPs, with all the values in the given array. The AVPs will be added to message in the order in which they appear in the array. Note: the array must not be altered by the caller following this call, and getSupportedFeatureses() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Specified by:
        setSupportedFeatureses in interface DiameterShMessage
        Throws:
        NullPointerException - if supportedFeatureses is null.
      • removeSupportedFeatureses

        void removeSupportedFeatureses()
        Removes all Supported-Features AVPs from the message. If no Supported-Features AVPs are present, this method returns silently.
      • hasUserIdentity

        boolean hasUserIdentity()
        Returns true if the User-Identity AVP is present in the message.
      • getUserIdentity

        UserIdentity getUserIdentity()
        Returns the value of the User-Identity AVP, of type Grouped.
        Returns:
        the value of the User-Identity AVP or null if it has not been set on this message
      • setUserIdentity

        void setUserIdentity​(UserIdentity userIdentity)
        Sets the value of the User-Identity AVP, of type Grouped.
        Throws:
        NullPointerException - if userIdentity is null.
      • removeUserIdentity

        void removeUserIdentity()
        Removes the User-Identity AVP from the message. If the User-Identity AVP is not present, this method returns silently.
      • hasServerName

        boolean hasServerName()
        Returns true if the Server-Name AVP is present in the message.
      • getServerName

        String getServerName()
        Returns the value of the Server-Name AVP, of type UTF8String.
        Returns:
        the value of the Server-Name AVP or null if it has not been set on this message
      • setServerName

        void setServerName​(String serverName)
        Sets the value of the Server-Name AVP, of type UTF8String.
        Throws:
        NullPointerException - if serverName is null.
      • removeServerName

        void removeServerName()
        Removes the Server-Name AVP from the message. If the Server-Name AVP is not present, this method returns silently.
      • hasWildcardedPsi

        boolean hasWildcardedPsi()
        Returns true if the Wildcarded-PSI AVP is present in the message.
      • getWildcardedPsi

        String getWildcardedPsi()
        Returns the value of the Wildcarded-PSI AVP, of type UTF8String.
        Returns:
        the value of the Wildcarded-PSI AVP or null if it has not been set on this message
      • setWildcardedPsi

        void setWildcardedPsi​(String wildcardedPsi)
        Sets the value of the Wildcarded-PSI AVP, of type UTF8String.
        Throws:
        NullPointerException - if wildcardedPsi is null.
      • removeWildcardedPsi

        void removeWildcardedPsi()
        Removes the Wildcarded-PSI AVP from the message. If the Wildcarded-PSI AVP is not present, this method returns silently.
      • hasWildcardedImpu

        boolean hasWildcardedImpu()
        Returns true if the Wildcarded-IMPU AVP is present in the message.
      • getWildcardedImpu

        String getWildcardedImpu()
        Returns the value of the Wildcarded-IMPU AVP, of type UTF8String.
        Returns:
        the value of the Wildcarded-IMPU AVP or null if it has not been set on this message
      • setWildcardedImpu

        void setWildcardedImpu​(String wildcardedImpu)
        Sets the value of the Wildcarded-IMPU AVP, of type UTF8String.
        Throws:
        NullPointerException - if wildcardedImpu is null.
      • removeWildcardedImpu

        void removeWildcardedImpu()
        Removes the Wildcarded-IMPU AVP from the message. If the Wildcarded-IMPU AVP is not present, this method returns silently.
      • getServiceIndications

        byte[][] getServiceIndications()
        Returns the set of Service-Indication AVPs. The returned array contains the AVPs in the order they appear in the message. A return value of null implies that no Service-Indication AVPs have been set. The elements in the given array are byte[] objects.
      • setServiceIndication

        void setServiceIndication​(byte[] serviceIndication)
        Sets a single Service-Indication AVP in the message, of type OctetString.
        Throws:
        NullPointerException - if serviceIndication is null.
      • setServiceIndications

        void setServiceIndications​(byte[][] serviceIndications)
        Sets the set of Service-Indication AVPs, with all the values in the given array. The AVPs will be added to message in the order in which they appear in the array. Note: the array must not be altered by the caller following this call, and getServiceIndications() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if serviceIndications is null.
      • removeServiceIndications

        void removeServiceIndications()
        Removes all Service-Indication AVPs from the message. If no Service-Indication AVPs are present, this method returns silently.
      • getDataReferences

        DataReference[] getDataReferences()
        Returns the set of Data-Reference AVPs. The returned array contains the AVPs in the order they appear in the message. A return value of null implies that no Data-Reference AVPs have been set. The elements in the given array are DataReference objects.
      • setDataReference

        void setDataReference​(DataReference dataReference)
        Sets a single Data-Reference AVP in the message, of type Enumerated.
        Throws:
        NullPointerException - if dataReference is null.
      • setDataReferences

        void setDataReferences​(DataReference[] dataReferences)
        Sets the set of Data-Reference AVPs, with all the values in the given array. The AVPs will be added to message in the order in which they appear in the array. Note: the array must not be altered by the caller following this call, and getDataReferences() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if dataReferences is null.
      • removeDataReferences

        void removeDataReferences()
        Removes all Data-Reference AVPs from the message. If no Data-Reference AVPs are present, this method returns silently.
      • getIdentitySets

        IdentitySet[] getIdentitySets()
        Returns the set of Identity-Set AVPs. The returned array contains the AVPs in the order they appear in the message. A return value of null implies that no Identity-Set AVPs have been set. The elements in the given array are IdentitySet objects.
      • setIdentitySet

        void setIdentitySet​(IdentitySet identitySet)
        Sets a single Identity-Set AVP in the message, of type Enumerated.
        Throws:
        NullPointerException - if identitySet is null.
      • setIdentitySets

        void setIdentitySets​(IdentitySet[] identitySets)
        Sets the set of Identity-Set AVPs, with all the values in the given array. The AVPs will be added to message in the order in which they appear in the array. Note: the array must not be altered by the caller following this call, and getIdentitySets() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if identitySets is null.
      • removeIdentitySets

        void removeIdentitySets()
        Removes all Identity-Set AVPs from the message. If no Identity-Set AVPs are present, this method returns silently.
      • hasRequestedDomain

        boolean hasRequestedDomain()
        Returns true if the Requested-Domain AVP is present in the message.
      • getRequestedDomain

        RequestedDomain getRequestedDomain()
        Returns the value of the Requested-Domain AVP, of type Enumerated.
        Returns:
        the value of the Requested-Domain AVP or null if it has not been set on this message
      • setRequestedDomain

        void setRequestedDomain​(RequestedDomain requestedDomain)
        Sets the value of the Requested-Domain AVP, of type Enumerated.
        Throws:
        NullPointerException - if requestedDomain is null.
      • removeRequestedDomain

        void removeRequestedDomain()
        Removes the Requested-Domain AVP from the message. If the Requested-Domain AVP is not present, this method returns silently.
      • hasCurrentLocation

        boolean hasCurrentLocation()
        Returns true if the Current-Location AVP is present in the message.
      • getCurrentLocation

        CurrentLocation getCurrentLocation()
        Returns the value of the Current-Location AVP, of type Enumerated.
        Returns:
        the value of the Current-Location AVP or null if it has not been set on this message
      • setCurrentLocation

        void setCurrentLocation​(CurrentLocation currentLocation)
        Sets the value of the Current-Location AVP, of type Enumerated.
        Throws:
        NullPointerException - if currentLocation is null.
      • removeCurrentLocation

        void removeCurrentLocation()
        Removes the Current-Location AVP from the message. If the Current-Location AVP is not present, this method returns silently.
      • getDsaiTags

        byte[][] getDsaiTags()
        Returns the set of DSAI-Tag AVPs. The returned array contains the AVPs in the order they appear in the message. A return value of null implies that no DSAI-Tag AVPs have been set. The elements in the given array are byte[] objects.
      • setDsaiTag

        void setDsaiTag​(byte[] dsaiTag)
        Sets a single DSAI-Tag AVP in the message, of type OctetString.
        Throws:
        NullPointerException - if dsaiTag is null.
      • setDsaiTags

        void setDsaiTags​(byte[][] dsaiTags)
        Sets the set of DSAI-Tag AVPs, with all the values in the given array. The AVPs will be added to message in the order in which they appear in the array. Note: the array must not be altered by the caller following this call, and getDsaiTags() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if dsaiTags is null.
      • removeDsaiTags

        void removeDsaiTags()
        Removes all DSAI-Tag AVPs from the message. If no DSAI-Tag AVPs are present, this method returns silently.
      • hasSessionPriority

        boolean hasSessionPriority()
        Returns true if the Session-Priority AVP is present in the message.
      • getSessionPriority

        SessionPriority getSessionPriority()
        Returns the value of the Session-Priority AVP, of type Enumerated.
        Returns:
        the value of the Session-Priority AVP or null if it has not been set on this message
      • setSessionPriority

        void setSessionPriority​(SessionPriority sessionPriority)
        Sets the value of the Session-Priority AVP, of type Enumerated.
        Throws:
        NullPointerException - if sessionPriority is null.
      • removeSessionPriority

        void removeSessionPriority()
        Removes the Session-Priority AVP from the message. If the Session-Priority AVP is not present, this method returns silently.
      • hasRequestedNodes

        boolean hasRequestedNodes()
        Returns true if the Requested-Nodes AVP is present in the message.
      • getRequestedNodes

        long getRequestedNodes()
        Returns the value of the Requested-Nodes AVP, of type Unsigned32. Use hasRequestedNodes() to check the existence of this AVP.
        Returns:
        the value of the Requested-Nodes AVP
        Throws:
        IllegalStateException - if the Requested-Nodes AVP has not been set on this message
      • setRequestedNodes

        void setRequestedNodes​(long requestedNodes)
        Sets the value of the Requested-Nodes AVP, of type Unsigned32.
      • removeRequestedNodes

        void removeRequestedNodes()
        Removes the Requested-Nodes AVP from the message. If the Requested-Nodes AVP is not present, this method returns silently.
      • hasUserName

        boolean hasUserName()
        Returns true if the User-Name AVP is present in the message.
      • getUserName

        String getUserName()
        Returns the value of the User-Name AVP, of type UTF8String.
        Returns:
        the value of the User-Name AVP or null if it has not been set on this message
      • setUserName

        void setUserName​(String userName)
        Sets the value of the User-Name AVP, of type UTF8String.
        Throws:
        NullPointerException - if userName is null.
      • removeUserName

        void removeUserName()
        Removes the User-Name AVP from the message. If the User-Name AVP is not present, this method returns silently.
      • getProxyInfos

        ProxyInfo[] getProxyInfos()
        Returns the set of Proxy-Info AVPs. The returned array contains the AVPs in the order they appear in the message. A return value of null implies that no Proxy-Info AVPs have been set. The elements in the given array are ProxyInfo objects.
        Specified by:
        getProxyInfos in interface DiameterShBaseMessage
      • setProxyInfos

        void setProxyInfos​(ProxyInfo[] proxyInfos)
        Sets the set of Proxy-Info AVPs, with all the values in the given array. The AVPs will be added to message in the order in which they appear in the array. Note: the array must not be altered by the caller following this call, and getProxyInfos() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Specified by:
        setProxyInfos in interface DiameterShBaseMessage
        Throws:
        NullPointerException - if proxyInfos is null.
      • removeProxyInfos

        void removeProxyInfos()
        Removes all Proxy-Info AVPs from the message. If no Proxy-Info AVPs are present, this method returns silently.
      • getRouteRecords

        DiameterIdentity[] getRouteRecords()
        Returns the set of Route-Record AVPs. The returned array contains the AVPs in the order they appear in the message. A return value of null implies that no Route-Record AVPs have been set. The elements in the given array are DiameterIdentity objects.
        Specified by:
        getRouteRecords in interface DiameterShBaseMessage
      • setRouteRecords

        void setRouteRecords​(DiameterIdentity[] routeRecords)
        Sets the set of Route-Record AVPs, with all the values in the given array. The AVPs will be added to message in the order in which they appear in the array. Note: the array must not be altered by the caller following this call, and getRouteRecords() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Specified by:
        setRouteRecords in interface DiameterShBaseMessage
        Throws:
        NullPointerException - if routeRecords is null.
      • removeRouteRecords

        void removeRouteRecords()
        Removes all Route-Record AVPs from the message. If no Route-Record AVPs are 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 message. A return value of null implies that no extensions AVPs have been set.
        Specified by:
        getExtensionAvps in interface DiameterShBaseMessage
      • 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 message 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.
        Specified by:
        setExtensionAvps in interface DiameterShBaseMessage
        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 message. If no extension AVPs are present, this method returns silently.