Module org.apache.santuario.xmlsec
Package org.apache.xml.security.stax.ext
Interface OutputProcessor
-
- All Known Implementing Classes:
AbstractBufferingOutputProcessor,AbstractOutputProcessor
public interface OutputProcessorThis is the Interface which every OutputProcessor must implement. The order of processors is defined by:XMLSecurityConstants.Phase(required)-
Action order (optional): allows grouping processors per action without them accidentally being reordered
incorrectly by processors of unrelated other action.
It helps grouping processors where before/after processor classes doesn't cut it:
signature-after-encryption is a valid use case, but also encryption-after-signature.
There is no absolute ordering of signature processors versus encryption processors.
That is where the action order comes in: whichever action comes first, it groups those processors together
such they can't accidentally get mingled in between processors of unrelated actions.
It's optional, if you set the action order to
-1it will be ignored. The action order thus only defines the order between two processors if both these processors have an action order !=-1. - Before/after processors based on processor classes (optional): this allows ordering of processors typically belonging to a single action.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddAfterProcessor(Class<? extends OutputProcessor> processor)Add this processor after the given processorvoidaddBeforeProcessor(Class<? extends OutputProcessor> processor)Add this processor before the given processorvoiddoFinal(OutputProcessorChain outputProcessorChain)Will be called when the whole document is processed.XMLSecurityConstants.ActiongetAction()intgetActionOrder()Set<Class<? extends OutputProcessor>>getAfterProcessors()This OutputProcessor will be added after the processors in this setSet<Class<? extends OutputProcessor>>getBeforeProcessors()This OutputProcessor will be added before the processors in this setXMLSecurityConstants.PhasegetPhase()The Phase in which this OutputProcessor should be appliedvoidinit(OutputProcessorChain outputProcessorChain)Method will be called after setting the propertiesvoidprocessEvent(org.apache.xml.security.stax.ext.stax.XMLSecEvent xmlSecEvent, OutputProcessorChain outputProcessorChain)Will be called from the framework for every XMLEventvoidsetAction(XMLSecurityConstants.Action action, int actionOrder)setter for the Action after instantiation of the processorvoidsetXMLSecurityProperties(XMLSecurityProperties xmlSecurityProperties)setter for the XMLSecurityProperties after instantiation of the processor
-
-
-
Method Detail
-
setXMLSecurityProperties
void setXMLSecurityProperties(XMLSecurityProperties xmlSecurityProperties)
setter for the XMLSecurityProperties after instantiation of the processor- Parameters:
xmlSecurityProperties-
-
setAction
void setAction(XMLSecurityConstants.Action action, int actionOrder)
setter for the Action after instantiation of the processor- Parameters:
action- The action this processor belongs to, possiblynullfor no particular action.actionOrder- The action order of this processor, possibly-1for no particular action order.
-
getAction
XMLSecurityConstants.Action getAction()
- Returns:
- The action to which this processor belongs, if any, else
null.
-
getActionOrder
int getActionOrder()
- Returns:
- The action order of this processor, or
-1.
-
init
void init(OutputProcessorChain outputProcessorChain) throws XMLSecurityException
Method will be called after setting the properties- Throws:
XMLSecurityException
-
addBeforeProcessor
void addBeforeProcessor(Class<? extends OutputProcessor> processor)
Add this processor before the given processor- Parameters:
processor-
-
getBeforeProcessors
Set<Class<? extends OutputProcessor>> getBeforeProcessors()
This OutputProcessor will be added before the processors in this set- Returns:
- The set with the named OutputProcessor
-
addAfterProcessor
void addAfterProcessor(Class<? extends OutputProcessor> processor)
Add this processor after the given processor- Parameters:
processor-
-
getAfterProcessors
Set<Class<? extends OutputProcessor>> getAfterProcessors()
This OutputProcessor will be added after the processors in this set- Returns:
- The set with the named OutputProcessor
-
getPhase
XMLSecurityConstants.Phase getPhase()
The Phase in which this OutputProcessor should be applied- Returns:
- The Phase
-
processEvent
void processEvent(org.apache.xml.security.stax.ext.stax.XMLSecEvent xmlSecEvent, OutputProcessorChain outputProcessorChain) throws XMLStreamException, XMLSecurityExceptionWill be called from the framework for every XMLEvent- Parameters:
xmlSecEvent- The next XMLEvent to processoutputProcessorChain-- Throws:
XMLStreamException- thrown when a streaming error occursXMLSecurityException- thrown when a Security failure occurs
-
doFinal
void doFinal(OutputProcessorChain outputProcessorChain) throws XMLStreamException, XMLSecurityException
Will be called when the whole document is processed.- Parameters:
outputProcessorChain-- Throws:
XMLStreamException- thrown when a streaming error occursXMLSecurityException- thrown when a Security failure occurs
-
-