Package org.apache.cxf.phase
Class AbstractPhaseInterceptor<T extends Message>
- java.lang.Object
-
- org.apache.cxf.phase.AbstractPhaseInterceptor<T>
-
- All Implemented Interfaces:
Interceptor<T>
,PhaseInterceptor<T>
- Direct Known Subclasses:
AbstractAuthorizingInInterceptor
,AbstractInDatabindingInterceptor
,AbstractLoggingInterceptor
,AbstractOutDatabindingInterceptor
,AbstractSecurityContextInInterceptor
,AbstractValidationInterceptor
,AbstractXSLTInterceptor
,AttachmentInInterceptor
,AttachmentOutInterceptor
,AttachmentOutInterceptor.AttachmentOutEndingInterceptor
,DelegatingAuthenticationInterceptor
,DepthRestrictingStreamInterceptor
,FaultOutInterceptor
,FIStaxInInterceptor
,FIStaxOutInterceptor
,GZIPInInterceptor
,GZIPOutInterceptor
,JAASLoginInterceptor
,MAPAggregator
,MessageSenderInterceptor
,MessageSenderInterceptor.MessageSenderEndingInterceptor
,OneWayProcessorInterceptor
,OutgoingChainInterceptor
,ServiceInvokerInterceptor
,StaxInEndingInterceptor
,StaxInInterceptor
,StaxOutEndingInterceptor
,StaxOutInterceptor
,StaxSchemaValidationInInterceptor
,StaxSchemaValidationOutInterceptor
,TransformInInterceptor
,TransformOutInterceptor
public abstract class AbstractPhaseInterceptor<T extends Message> extends Object implements PhaseInterceptor<T>
Provides a starting point implementation for a interceptors that participate in phased message processing. Developers should extend from this class when implementing custom interceptors. Developers need to provide an implementation for handleMessage() and can override the handleFault() implementation. They should not override the other methods.
-
-
Constructor Summary
Constructors Constructor Description AbstractPhaseInterceptor(String phase)
Instantiates the interceptor to live in a specified phase.AbstractPhaseInterceptor(String phase, boolean uniqueId)
Instantiates the interceptor and specifies if it gets a system determined unique id.AbstractPhaseInterceptor(String i, String p)
Instantiates the interceptor with a specified id.AbstractPhaseInterceptor(String i, String p, boolean uniqueId)
Instantiates the interceptor with a specified id or with a system determined unique id.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAfter(String i)
Specifies that the current interceptor needs to be added to the interceptor chain after the specified interceptor.void
addAfter(Collection<String> i)
Specifies that the current interceptor needs to be added to the interceptor chain after the specified collection of interceptors.void
addBefore(String i)
Specifies that the current interceptor needs to be added to the interceptor chain before the specified interceptor.void
addBefore(Collection<String> i)
Specifies that the current interceptor needs to be added to the interceptor chain before the specified collection of interceptors.Collection<PhaseInterceptor<? extends Message>>
getAdditionalInterceptors()
Returns a collection of Interceptors that should be added to the chain whenever this interceptor is added.Set<String>
getAfter()
Returns a set containing the IDs of the interceptors that should be executed before this interceptor.Set<String>
getBefore()
Returns a set containing the IDs of the interceptors that should be executed after this interceptor.String
getId()
Returns the ID of this interceptor.String
getPhase()
Returns the phase in which this interceptor is excecuted.void
handleFault(T message)
Called for all interceptors (in reverse order) on which handleMessage had been successfully invoked, when normal execution of the chain was aborted for some reason.boolean
isGET(T message)
protected boolean
isRequestor(T message)
Determine if current messaging role is that of requestor.void
setAfter(Collection<String> i)
Specifies that the current interceptor needs to be added to the interceptor chain after the specified collection of interceptors.void
setBefore(Collection<String> i)
Specifies that the current interceptor needs to be added to the interceptor chain before the specified collection of interceptors.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.cxf.interceptor.Interceptor
handleMessage
-
-
-
-
Constructor Detail
-
AbstractPhaseInterceptor
public AbstractPhaseInterceptor(String phase)
Instantiates the interceptor to live in a specified phase. The interceptor's id will be set to the name of the implementing class.- Parameters:
phase
- the interceptor's phase
-
AbstractPhaseInterceptor
public AbstractPhaseInterceptor(String i, String p)
Instantiates the interceptor with a specified id.- Parameters:
i
- the interceptor's idp
- the interceptor's phase
-
AbstractPhaseInterceptor
public AbstractPhaseInterceptor(String phase, boolean uniqueId)
Instantiates the interceptor and specifies if it gets a system determined unique id. IfuniqueId
is set to true the interceptor's id will be determined by the runtime. IfuniqueId
is set to false, the implementing class' name is used as the id.- Parameters:
phase
- the interceptor's phaseuniqueId
- true to have a unique ID generated
-
AbstractPhaseInterceptor
public AbstractPhaseInterceptor(String i, String p, boolean uniqueId)
Instantiates the interceptor with a specified id or with a system determined unique id. The specified id will be used unlessuniqueId
is set to true.- Parameters:
i
- the interceptor's idp
- the interceptor's phaseuniqueId
-
-
-
Method Detail
-
setBefore
public void setBefore(Collection<String> i)
Specifies that the current interceptor needs to be added to the interceptor chain before the specified collection of interceptors. This method replaces any existing list with the provided list.- Parameters:
i
- a collection of interceptor ids
-
setAfter
public void setAfter(Collection<String> i)
Specifies that the current interceptor needs to be added to the interceptor chain after the specified collection of interceptors. This method replaces any existing list with the provided list.- Parameters:
i
- a collection of interceptor ids
-
addBefore
public void addBefore(Collection<String> i)
Specifies that the current interceptor needs to be added to the interceptor chain before the specified collection of interceptors.- Parameters:
i
- a collection of interceptor ids
-
addAfter
public void addAfter(Collection<String> i)
Specifies that the current interceptor needs to be added to the interceptor chain after the specified collection of interceptors.- Parameters:
i
- a collection of interceptor ids
-
addBefore
public void addBefore(String i)
Specifies that the current interceptor needs to be added to the interceptor chain before the specified interceptor.- Parameters:
i
- an interceptor id
-
addAfter
public void addAfter(String i)
Specifies that the current interceptor needs to be added to the interceptor chain after the specified interceptor.- Parameters:
i
- an interceptor id
-
getAfter
public final Set<String> getAfter()
Description copied from interface:PhaseInterceptor
Returns a set containing the IDs of the interceptors that should be executed before this interceptor. This interceptor will be placed in the chain after the interceptors in the set.- Specified by:
getAfter
in interfacePhaseInterceptor<T extends Message>
- Returns:
- the IDs of the interceptors
-
getBefore
public final Set<String> getBefore()
Description copied from interface:PhaseInterceptor
Returns a set containing the IDs of the interceptors that should be executed after this interceptor. This interceptor will be placed in the inteceptor chain before the interceptors in the set.- Specified by:
getBefore
in interfacePhaseInterceptor<T extends Message>
- Returns:
- the ids of the interceptors
-
getAdditionalInterceptors
public Collection<PhaseInterceptor<? extends Message>> getAdditionalInterceptors()
Description copied from interface:PhaseInterceptor
Returns a collection of Interceptors that should be added to the chain whenever this interceptor is added. May return null.- Specified by:
getAdditionalInterceptors
in interfacePhaseInterceptor<T extends Message>
- Returns:
- the collection of interceptors
-
getId
public final String getId()
Description copied from interface:PhaseInterceptor
Returns the ID of this interceptor.- Specified by:
getId
in interfacePhaseInterceptor<T extends Message>
- Returns:
- the ID
-
getPhase
public final String getPhase()
Description copied from interface:PhaseInterceptor
Returns the phase in which this interceptor is excecuted.- Specified by:
getPhase
in interfacePhaseInterceptor<T extends Message>
- Returns:
- the phase
-
handleFault
public void handleFault(T message)
Description copied from interface:Interceptor
Called for all interceptors (in reverse order) on which handleMessage had been successfully invoked, when normal execution of the chain was aborted for some reason.- Specified by:
handleFault
in interfaceInterceptor<T extends Message>
-
isGET
public boolean isGET(T message)
-
isRequestor
protected boolean isRequestor(T message)
Determine if current messaging role is that of requestor.- Parameters:
message
- the current Message- Returns:
- true if the current messaging role is that of requestor
-
-