Class SessionTrackingControl

  • All Implemented Interfaces:
    Control, RequestControl, ResponseControl

    public class SessionTrackingControl
    extends AbstractControl
    implements RequestControl, ResponseControl
    Request/response control for session tracking. See https://tools.ietf.org/html/draft-wahl-ldap-session-03. Control is defined as:
       LDAPString ::= OCTET STRING -- UTF-8 encoded
       LDAPOID ::= OCTET STRING -- Constrained to numericoid
    
       SessionIdentifierControlValue ::= SEQUENCE {
       sessionSourceIp                 LDAPString,
       sessionSourceName               LDAPString,
       formatOID                       LDAPOID,
       sessionTrackingIdentifier       LDAPString
       }
     
    Note that criticality must be either false or absent.
    Author:
    Middleware Services
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String OID
      OID of this control.
      static java.lang.String RADIUS_ACCT_MULTI_OID
      OID for the Acct-Multi-Session-Id RADIUS attribute format.
      static java.lang.String RADIUS_ACCT_OID
      OID for the Acct-Session-Id RADIUS attribute format.
      static java.lang.String USERNAME_ACCT_OID
      OID for the SASL authorization identity string format.
    • Constructor Summary

      Constructors 
      Constructor Description
      SessionTrackingControl()
      Default constructor.
      SessionTrackingControl​(boolean critical)
      Creates a new session tracking control.
      SessionTrackingControl​(java.lang.String sourceIP, java.lang.String sourceName, java.lang.String oid, java.lang.String trackingIdentifier)
      Creates a new session tracking control.
      SessionTrackingControl​(java.lang.String sourceIP, java.lang.String sourceName, java.lang.String oid, java.lang.String trackingIdentifier, boolean critical)
      Creates a new session tracking control.
    • Field Detail

      • RADIUS_ACCT_OID

        public static final java.lang.String RADIUS_ACCT_OID
        OID for the Acct-Session-Id RADIUS attribute format.
        See Also:
        Constant Field Values
      • RADIUS_ACCT_MULTI_OID

        public static final java.lang.String RADIUS_ACCT_MULTI_OID
        OID for the Acct-Multi-Session-Id RADIUS attribute format.
        See Also:
        Constant Field Values
      • USERNAME_ACCT_OID

        public static final java.lang.String USERNAME_ACCT_OID
        OID for the SASL authorization identity string format.
        See Also:
        Constant Field Values
    • Constructor Detail

      • SessionTrackingControl

        public SessionTrackingControl()
        Default constructor.
      • SessionTrackingControl

        public SessionTrackingControl​(boolean critical)
        Creates a new session tracking control.
        Parameters:
        critical - whether this control is critical
      • SessionTrackingControl

        public SessionTrackingControl​(java.lang.String sourceIP,
                                      java.lang.String sourceName,
                                      java.lang.String oid,
                                      java.lang.String trackingIdentifier)
        Creates a new session tracking control.
        Parameters:
        sourceIP - session source ip
        sourceName - session source name
        oid - format OID
        trackingIdentifier - session tracking identifier
      • SessionTrackingControl

        public SessionTrackingControl​(java.lang.String sourceIP,
                                      java.lang.String sourceName,
                                      java.lang.String oid,
                                      java.lang.String trackingIdentifier,
                                      boolean critical)
        Creates a new session tracking control.
        Parameters:
        sourceIP - session source ip
        sourceName - session source name
        oid - format OID
        trackingIdentifier - session tracking identifier
        critical - whether this control is critical
    • Method Detail

      • hasValue

        public boolean hasValue()
        Description copied from interface: RequestControl
        Returns whether the control has a value associated with it.
        Specified by:
        hasValue in interface RequestControl
        Returns:
        whether the control has a value
      • getSessionSourceIp

        public java.lang.String getSessionSourceIp()
        Returns the session source ip.
        Returns:
        session source ip
      • setSessionSourceIp

        public void setSessionSourceIp​(java.lang.String s)
        Sets the session source ip.
        Parameters:
        s - session source ip
      • getSessionSourceName

        public java.lang.String getSessionSourceName()
        Returns the session source name.
        Returns:
        session source name
      • setSessionSourceName

        public void setSessionSourceName​(java.lang.String s)
        Sets the session source name.
        Parameters:
        s - session source name
      • getFormatOID

        public java.lang.String getFormatOID()
        Returns the format OID.
        Returns:
        format OID
      • setFormatOID

        public void setFormatOID​(java.lang.String s)
        Sets the format OID.
        Parameters:
        s - format OID
      • getSessionTrackingIdentifier

        public java.lang.String getSessionTrackingIdentifier()
        Returns the session tracking identifier.
        Returns:
        session tracking identifier
      • setSessionTrackingIdentifier

        public void setSessionTrackingIdentifier​(java.lang.String s)
        Sets the session tracking identifier.
        Parameters:
        s - session tracking identifier
      • hashCode

        public int hashCode()
        Description copied from class: AbstractControl
        Returns the hash code for this object.
        Specified by:
        hashCode in class AbstractControl
        Returns:
        hash code
      • encode

        public byte[] encode()
        Description copied from interface: RequestControl
        Provides the BER encoding of this control.
        Specified by:
        encode in interface RequestControl
        Returns:
        BER encoded request control
      • decode

        public void decode​(DERBuffer encoded)
        Description copied from interface: ResponseControl
        Initializes this response control with the supplied BER encoded data.
        Specified by:
        decode in interface ResponseControl
        Parameters:
        encoded - BER encoded response control