Class ProtonEndpoint<E extends Endpoint<E>>
- java.lang.Object
-
- org.apache.qpid.protonj2.engine.impl.ProtonEndpoint<E>
-
- Type Parameters:
E- The specificEndpointtype this abstract type implements.
- All Implemented Interfaces:
Endpoint<E>
- Direct Known Subclasses:
ProtonConnection,ProtonLink,ProtonSession,ProtonTransactionController,ProtonTransactionManager
public abstract class ProtonEndpoint<E extends Endpoint<E>> extends java.lang.Object implements Endpoint<E>
Proton abstractEndpointimplementation that provides some common facilities.
-
-
Field Summary
Fields Modifier and Type Field Description protected ProtonEngineengine
-
Constructor Summary
Constructors Constructor Description ProtonEndpoint(ProtonEngine engine)Create a newProtonEndpointinstance with the given Engine as the owner.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description EcloseHandler(EventHandler<E> remoteCloseEventHandler)Sets a EventHandler for when an AMQP Close frame is received from the remote peer.EengineShutdownHandler(EventHandler<Engine> engineShutdownEventHandler)Sets anEventHandlerthat is invoked when the engine that supports thisEndpointis shutdown via a call toEngine.shutdown()which indicates a desire to terminate all engine operations.ProtonAttachmentsgetAttachments()ErrorConditiongetCondition()ProtonEnginegetEngine()<T> TgetLinkedResource()<T> TgetLinkedResource(java.lang.Class<T> typeClass)Gets the linked resource (if set) and returns it using the type information provided to cast the returned value.ErrorConditiongetRemoteCondition()If the remote has closed thisEndpointand provided anErrorConditionas part of the closing AMQP performative then this method will return it.ElocalCloseHandler(EventHandler<E> localCloseEventHandler)Sets aEventHandlerfor when an thisEndpointis closed locally via a call toEndpoint.close()Typically used by clients for logging or other state update event processing.ElocalOpenHandler(EventHandler<E> localOpenEventHandler)Sets aEventHandlerfor when an thisEndpointis opened locally via a call toEndpoint.open()Typically used by clients for logging or other state update event processing.EopenHandler(EventHandler<E> remoteOpenEventHandler)Sets a EventHandler for when an AMQP Open frame is received from the remote peer.EsetCondition(ErrorCondition condition)Sets the localErrorConditionto be applied to aEndpointclose.EsetLinkedResource(java.lang.Object resource)Links a given resource to thisEndpoint.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.qpid.protonj2.engine.Endpoint
close, getDesiredCapabilities, getOfferedCapabilities, getParent, getProperties, getRemoteDesiredCapabilities, getRemoteOfferedCapabilities, getRemoteProperties, isLocallyClosed, isLocallyOpen, isRemotelyClosed, isRemotelyOpen, open, setDesiredCapabilities, setOfferedCapabilities, setProperties
-
-
-
-
Field Detail
-
engine
protected final ProtonEngine engine
-
-
Constructor Detail
-
ProtonEndpoint
public ProtonEndpoint(ProtonEngine engine)
Create a newProtonEndpointinstance with the given Engine as the owner.
-
-
Method Detail
-
setLinkedResource
public E setLinkedResource(java.lang.Object resource)
Description copied from interface:EndpointLinks a given resource to thisEndpoint.
-
getLinkedResource
public <T> T getLinkedResource()
-
getLinkedResource
public <T> T getLinkedResource(java.lang.Class<T> typeClass)
Description copied from interface:EndpointGets the linked resource (if set) and returns it using the type information provided to cast the returned value.- Specified by:
getLinkedResourcein interfaceEndpoint<E extends Endpoint<E>>- Type Parameters:
T- The type to cast the linked resource to if one is set.- Parameters:
typeClass- the type's Class which is used for casting the returned value.- Returns:
- the user set linked resource for this Context instance.
-
getEngine
public ProtonEngine getEngine()
-
getAttachments
public ProtonAttachments getAttachments()
- Specified by:
getAttachmentsin interfaceEndpoint<E extends Endpoint<E>>- Returns:
- the
Attachmentsinstance that is associated with thisEndpoint
-
getCondition
public ErrorCondition getCondition()
-
setCondition
public E setCondition(ErrorCondition condition)
Description copied from interface:EndpointSets the localErrorConditionto be applied to aEndpointclose.
-
getRemoteCondition
public ErrorCondition getRemoteCondition()
Description copied from interface:EndpointIf the remote has closed thisEndpointand provided anErrorConditionas part of the closing AMQP performative then this method will return it.- Specified by:
getRemoteConditionin interfaceEndpoint<E extends Endpoint<E>>- Returns:
- the remote supplied
ErrorCondition, or null if there is none.
-
openHandler
public E openHandler(EventHandler<E> remoteOpenEventHandler)
Description copied from interface:EndpointSets a EventHandler for when an AMQP Open frame is received from the remote peer. Used to process remotely initiated Connections. Locally initiated sessions have their own EventHandler invoked instead. This method is typically used by servers to listen for the remote peer to open itsEndpoint, while a client would listen for the server to open its end of theEndpointonce a local open has been performed. Typically used by clients as servers will typically listen to some parent resource event handler to determine if the remote is initiating a resource open.
-
closeHandler
public E closeHandler(EventHandler<E> remoteCloseEventHandler)
Description copied from interface:EndpointSets a EventHandler for when an AMQP Close frame is received from the remote peer.
-
localOpenHandler
public E localOpenHandler(EventHandler<E> localOpenEventHandler)
Description copied from interface:EndpointSets aEventHandlerfor when an thisEndpointis opened locally via a call toEndpoint.open()Typically used by clients for logging or other state update event processing. Clients should not perform any blocking calls within this context. It is an error for the handler to throw an exception and the outcome of doing so is undefined.- Specified by:
localOpenHandlerin interfaceEndpoint<E extends Endpoint<E>>- Parameters:
localOpenEventHandler- TheEventHandlerto notify when thisEndpointis locally opened.- Returns:
- this
Endpointinstance.
-
localCloseHandler
public E localCloseHandler(EventHandler<E> localCloseEventHandler)
Description copied from interface:EndpointSets aEventHandlerfor when an thisEndpointis closed locally via a call toEndpoint.close()Typically used by clients for logging or other state update event processing. Clients should not perform any blocking calls within this context. It is an error for the handler to throw an exception and the outcome of doing so is undefined.- Specified by:
localCloseHandlerin interfaceEndpoint<E extends Endpoint<E>>- Parameters:
localCloseEventHandler- TheEventHandlerto notify when thisEndpointis locally closed.- Returns:
- this
Endpointinstance.
-
engineShutdownHandler
public E engineShutdownHandler(EventHandler<Engine> engineShutdownEventHandler)
Description copied from interface:EndpointSets anEventHandlerthat is invoked when the engine that supports thisEndpointis shutdown via a call toEngine.shutdown()which indicates a desire to terminate all engine operations. AnyEndpointthat has been both locally and remotely closed will not receive this event as it will no longer be tracked by the parent its parentEndpoint. A typical use of this event would be from a locally closedEndpointthat is awaiting response from the remote. If this event fires then there will never be a remote response to any pending operations and the client or server instance should react accordingly to clean up any related resources etc.
-
-