@Category(value="Basic") @SupportsOutputStreaming @ElementType(value=TRANSLATOR) public class XsltPipe extends StreamingPipe implements org.springframework.beans.factory.InitializingBean
AUTOMATIC_STREAMING
parameterNamesMustBeUnique
log
LONG_DURATION_MONITORING_EVENT, MESSAGE_SIZE_MONITORING_EVENT, PIPE_EXCEPTION_MONITORING_EVENT
Constructor and Description |
---|
XsltPipe() |
Modifier and Type | Method and Description |
---|---|
void |
addParameter(Parameter rhs)
Add a parameter to the list of parameters
|
void |
afterPropertiesSet() |
protected boolean |
canProvideOutputStream()
returns true when:
a) the pipe might be able to accept an input by providing an OutputStream, and
b) there are no side effects configured that prevent handing over its PipeRunResult to the calling pipe (e.g.
|
boolean |
canStreamToNextPipe()
called if the pipe implementation requests an OutputStream, to determine if there are side effects configured
that require the output of this pipe to be available at the return of the doPipe() method.
|
void |
configure()
The
configure() method instantiates a transformer for the specified
XSL. |
protected XsltSender |
createXsltSender() |
PipeRunResult |
doPipe(Message input,
PipeLineSession session)
This is where the action takes place.
|
String |
getNamespaceDefs() |
ParameterList |
getParameterList()
return the Parameters
|
String |
getSessionKey()
Deprecated.
|
String |
getXpathExpression() |
protected MessageOutputStream |
provideOutputStream(PipeLineSession session)
provide the outputstream, or null if a stream cannot be provided.
|
void |
setDisableOutputEscaping(boolean b) |
void |
setHandleLexicalEvents(boolean b) |
void |
setIndentXml(boolean b) |
void |
setName(String name)
The functional name of this pipe.
|
void |
setNamespaceAware(boolean b)
Deprecated.
|
void |
setNamespaceDefs(String namespaceDefs) |
void |
setOmitXmlDeclaration(boolean b) |
void |
setOutputType(TransformerPool.OutputType outputType) |
void |
setRemoveNamespaces(boolean b) |
void |
setSessionKey(String newSessionKey)
Deprecated.
|
void |
setSkipEmptyTags(boolean b) |
void |
setStreamingXslt(boolean streamingActive)
If true, then this pipe will process the XSLT while streaming in a different thread.
|
void |
setStyleSheetCacheSize(int size) |
void |
setStyleSheetName(String stylesheetName) |
void |
setStyleSheetNameSessionKey(String newSessionKey) |
void |
setXpathExpression(String string) |
void |
setXslt2(boolean b)
Deprecated.
|
void |
setXsltVersion(int xsltVersion) |
void |
start()
Perform necessary action to start the pipe.
|
void |
stop()
Perform necessary actions to stop the
Pipe .For instance, closing JMS connections, DBMS connections etc. |
boolean |
supportsOutputStreamPassThrough()
Implementations should return
true when they do not require an OutputStream, but can
provide one to the preceding pipe if they are themselves provided with one from the next pipe. |
getNextPipe, getTargetStream, isStreamingActive, provideOutputStream, setStreamingActive
getParameterValue, setIfParam, setIfValue, setOnlyIfSessionKey, setOnlyIfValue, setSkipOnEmptyInput, setUnlessSessionKey, setUnlessValue, skipPipe
consumesSessionVariable, createBean, findForward, getAdapter, getEventSourceName, getForwards, getInSizeStatDummyObject, getOutSizeStatDummyObject, hasSizeStatistics, registerEvent, registerForward, setApplicationContext, setChompCharSize, setDurationThreshold, setElementToMove, setElementToMoveChain, setElementToMoveSessionKey, setEmptyInputReplacement, setGetInputFromFixedValue, setGetInputFromSessionKey, setHideRegex, setLocker, setLogIntermediaryResults, setMaxThreads, setPreserveInput, setRemoveCompactMsgNamespaces, setRestoreMovedElements, setSecLogSessionKeys, setSizeStatistics, setStoreResultInSessionKey, setWriteToSecLog, throwEvent
configureTransactionAttributes, isTransacted, isTransacted, setTransacted, setTransactionTimeout
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getChompCharSize, getDurationThreshold, getElementToMove, getElementToMoveChain, getElementToMoveSessionKey, getEmptyInputReplacement, getGetInputFromFixedValue, getGetInputFromSessionKey, getLocker, getSecLogSessionKeys, getStoreResultInSessionKey, isPreserveInput, isRemoveCompactMsgNamespaces, isRestoreMovedElements, isWriteToSecLog, setPipeLine, throwEvent
getMaxThreads
getName
getApplicationContext, getName
getConfigurationClassLoader
getName
getTransactionAttribute, getTransactionTimeout, getTxDef, setTransactionAttribute
public void afterPropertiesSet() throws Exception
afterPropertiesSet
in interface org.springframework.beans.factory.InitializingBean
Exception
protected XsltSender createXsltSender()
public void configure() throws ConfigurationException
configure()
method instantiates a transformer for the specified
XSL. If the stylesheetname cannot be accessed, a ConfigurationException is thrown.configure
in interface IConfigurable
configure
in interface IPipe
configure
in class StreamingPipe
ConfigurationException
public void start() throws PipeStartException
IPipe
IPipe.configure()
method, for each start and stop command of the
adapter.start
in interface IPipe
start
in class AbstractPipe
PipeStartException
public void stop()
IPipe
Pipe
.stop
in interface IPipe
stop
in class AbstractPipe
public boolean canStreamToNextPipe()
StreamingPipe
canStreamToNextPipe
in class StreamingPipe
protected boolean canProvideOutputStream()
StreamingPipe
canProvideOutputStream
in class StreamingPipe
public PipeRunResult doPipe(Message input, PipeLineSession session) throws PipeRunException
IPipe
FixedResultPipe
, the Pipe
can schedule the input to be closed at session exit, by calling Message.closeOnCloseOf(PipeLineSession, String)
This allows the previous Pipe to release any resources (e.g. connections) that it might have kept open
until the message was consumed. Doing so avoids connections leaking from pools, while it enables
efficient streaming processing of data while it is being read from a stream.doPipe
in interface IPipe
PipeRunException
public boolean supportsOutputStreamPassThrough()
IOutputStreamingSupport
true
when they do not require an OutputStream, but can
provide one to the preceding pipe if they are themselves provided with one from the next pipe.supportsOutputStreamPassThrough
in interface IOutputStreamingSupport
supportsOutputStreamPassThrough
in class StreamingPipe
public void setStreamingXslt(boolean streamingActive)
protected MessageOutputStream provideOutputStream(PipeLineSession session) throws StreamingException
StreamingPipe
StreamingPipe.getNextPipe()
.provideOutputStream
in class StreamingPipe
StreamingException
public ParameterList getParameterList()
AbstractPipe
getParameterList
in class AbstractPipe
public void addParameter(Parameter rhs)
AbstractPipe
addParameter
in class AbstractPipe
@ReferTo(value=XsltSender.class) public void setStyleSheetName(String stylesheetName)
@ReferTo(value=XsltSender.class) public void setStyleSheetNameSessionKey(String newSessionKey)
@ReferTo(value=XsltSender.class) public void setStyleSheetCacheSize(int size)
@ReferTo(value=XsltSender.class) public void setXpathExpression(String string)
public String getXpathExpression()
@ReferTo(value=XsltSender.class) public void setOmitXmlDeclaration(boolean b)
@ReferTo(value=XsltSender.class) public void setDisableOutputEscaping(boolean b)
@ReferTo(value=XsltSender.class) public void setNamespaceDefs(String namespaceDefs)
public String getNamespaceDefs()
@ReferTo(value=XsltSender.class) public void setOutputType(TransformerPool.OutputType outputType)
@ReferTo(value=XsltSender.class) public void setIndentXml(boolean b)
@ReferTo(value=XsltSender.class) public void setRemoveNamespaces(boolean b)
@ReferTo(value=XsltSender.class) public void setHandleLexicalEvents(boolean b)
@ReferTo(value=XsltSender.class) public void setSkipEmptyTags(boolean b)
@ReferTo(value=XsltSender.class) public void setXsltVersion(int xsltVersion)
@ReferTo(value=XsltSender.class) @Deprecated @ConfigurationWarning(value="It\'s value is now auto detected. If necessary, replace with a setting of xsltVersion") public void setXslt2(boolean b)
@ReferTo(value=XsltSender.class) @Deprecated @ConfigurationWarning(value="please use attribute \'removeNamespaces\' instead") public void setNamespaceAware(boolean b)
@Deprecated @ConfigurationWarning(value="Please use \'storeResultInSessionKey\' with preserveInput=true") public void setSessionKey(String newSessionKey)
@Deprecated public String getSessionKey()
public void setName(String name)
AbstractPipe
path
attribute of a PipeForward
.setName
in interface INamedObject
setName
in class AbstractPipe
Copyright © 2023 Frank!Framework. All rights reserved.