Class StartTlsExtendedRequest
java.lang.Object
org.forgerock.opendj.ldap.messages.AbstractExtendedRequest<StartTlsExtendedRequest,ExtendedResult>
org.forgerock.opendj.ldap.messages.StartTlsExtendedRequest
- All Implemented Interfaces:
ExtendedRequest<ExtendedResult>
,ProtocolOp
,Request
public final class StartTlsExtendedRequest
extends AbstractExtendedRequest<StartTlsExtendedRequest,ExtendedResult>
implements ExtendedRequest<ExtendedResult>
The start TLS extended request as defined in RFC 4511. The Start Transport
Layer Security (StartTLS) operation's purpose is to initiate installation of
a TLS layer.
Use an SslOptions
when setting up LDAP options needed to use StartTLS.
TrustManagers
has methods you can use to set the trust manager for the SSL context builder.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.forgerock.opendj.ldap.messages.Request
Request.RequestType
-
Field Summary
Modifier and TypeFieldDescriptionstatic final ExtendedRequestDecoder<StartTlsExtendedRequest,
ExtendedResult> A decoder which can be used to decode start TLS extended operation requests.static final String
The OID for the start TLS extended operation request. -
Method Summary
Modifier and TypeMethodDescriptionfinal StartTlsExtendedRequest
addControl
(Control control) Adds the provided control to this protocol-op.final StartTlsExtendedRequest
addControls
(Iterable<? extends Control> controls) Adds the provided controls to this protocol-op.final boolean
containsControl
(String oid) Returnstrue
if this protocol-op contains the specified control.final <C extends Control>
CgetControl
(ControlDecoder<C> decoder, DecodeOptions options) Decodes and returns the first control in this protocol-op having an OID corresponding to the provided control decoder.Returns aList
containing the controls included with this protocol-op.getOid()
Returns the numeric OID associated with this extended request.Returns a decoder which can be used to decoded responses to this extended request.Returns the SslOptions that should be used when installing the TLS layer.getValue()
Returns the value, if any, associated with this extended request.boolean
hasValue()
Returnstrue
if this extended request has a value.final StartTlsExtendedRequest
removeControls
(String oid) Removes all the controls having the specified OID.setSslOptions
(SslOptions sslOptions) Sets the SslOptions that should be used when installing the TLS layer.toString()
Methods inherited from class org.forgerock.opendj.ldap.messages.AbstractExtendedRequest
accept, getType
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.forgerock.opendj.ldap.messages.ExtendedRequest
addControl, addControls, getControl, getControls, removeControls
Methods inherited from interface org.forgerock.opendj.ldap.messages.ProtocolOp
containsControl, getControl
-
Field Details
-
DECODER
A decoder which can be used to decode start TLS extended operation requests. -
OID
The OID for the start TLS extended operation request.- See Also:
-
-
Method Details
-
getOid
Description copied from interface:ExtendedRequest
Returns the numeric OID associated with this extended request.- Specified by:
getOid
in interfaceExtendedRequest<ExtendedResult>
- Specified by:
getOid
in classAbstractExtendedRequest<StartTlsExtendedRequest,
ExtendedResult> - Returns:
- The numeric OID associated with this extended request.
-
getResultDecoder
Description copied from interface:ExtendedRequest
Returns a decoder which can be used to decoded responses to this extended request.- Specified by:
getResultDecoder
in interfaceExtendedRequest<ExtendedResult>
- Specified by:
getResultDecoder
in classAbstractExtendedRequest<StartTlsExtendedRequest,
ExtendedResult> - Returns:
- A decoder which can be used to decoded responses to this extended request.
-
getSslOptions
Returns the SslOptions that should be used when installing the TLS layer. This is only used client-side when interacting with a remove server using a Connection. In a server context, it always returnsnull
.- Returns:
- The SslOptions that should be used when installing the TLS layer or
null
if this is invoked in a server context.
-
getValue
Description copied from interface:ExtendedRequest
Returns the value, if any, associated with this extended request. Its format is defined by the specification of this extended request.- Specified by:
getValue
in interfaceExtendedRequest<ExtendedResult>
- Specified by:
getValue
in classAbstractExtendedRequest<StartTlsExtendedRequest,
ExtendedResult> - Returns:
- The value associated with this extended request, or
null
if there is no value.
-
hasValue
public boolean hasValue()Description copied from interface:ExtendedRequest
Returnstrue
if this extended request has a value. In some circumstances it may be useful to determine if a extended request has a value, without actually calculating the value and incurring any performance costs.- Specified by:
hasValue
in interfaceExtendedRequest<ExtendedResult>
- Specified by:
hasValue
in classAbstractExtendedRequest<StartTlsExtendedRequest,
ExtendedResult> - Returns:
true
if this extended request has a value, orfalse
if there is no value.
-
setSslOptions
Sets the SslOptions that should be used when installing the TLS layer. This is only used client-side when interacting with a remove server using a Connection. In a server context, the sslOptions will be ignored.- Parameters:
sslOptions
- The SslOptions that should be used when installing the TLS layer.- Returns:
- This startTLS request.
-
toString
- Overrides:
toString
in classAbstractExtendedRequest<StartTlsExtendedRequest,
ExtendedResult>
-
addControl
Description copied from interface:ProtocolOp
Adds the provided control to this protocol-op.- Specified by:
addControl
in interfaceProtocolOp
- Parameters:
control
- The control to be added to this protocol-op.- Returns:
- This protocol-op.
-
addControls
Description copied from interface:ProtocolOp
Adds the provided controls to this protocol-op.- Specified by:
addControls
in interfaceProtocolOp
- Parameters:
controls
- The controls to be added to this protocol-op.- Returns:
- This protocol-op.
-
removeControls
Description copied from interface:ProtocolOp
Removes all the controls having the specified OID.- Specified by:
removeControls
in interfaceProtocolOp
- Parameters:
oid
- The numeric OID of the protocol-op control to remove.- Returns:
- This protocol-op.
-
containsControl
Description copied from interface:ProtocolOp
Returnstrue
if this protocol-op contains the specified control.- Specified by:
containsControl
in interfaceProtocolOp
- Parameters:
oid
- The numeric OID of the protocol-op control.- Returns:
true
if this protocol-op contains the specified control.
-
getControl
public final <C extends Control> C getControl(ControlDecoder<C> decoder, DecodeOptions options) throws DecodeException Description copied from interface:ProtocolOp
Decodes and returns the first control in this protocol-op having an OID corresponding to the provided control decoder.- Specified by:
getControl
in interfaceProtocolOp
- Type Parameters:
C
- The type of control to be decoded and returned.- Parameters:
decoder
- The control decoder.options
- The set of decode options which should be used when decoding the control.- Returns:
- The decoded control, or
null
if the control is not included with this protocol-op. - Throws:
DecodeException
- If the control could not be decoded because it was malformed in some way (e.g. the control value was missing, or its content could not be decoded).
-
getControls
Description copied from interface:ProtocolOp
Returns aList
containing the controls included with this protocol-op. The returnedList
may be modified if permitted by this protocol-op.- Specified by:
getControls
in interfaceProtocolOp
- Returns:
- A
List
containing the controls.
-