Package org.frankframework.pipes
Class AbstractValidator
java.lang.Object
org.frankframework.core.TransactionAttributes
org.frankframework.pipes.AbstractPipe
org.frankframework.pipes.FixedForwardPipe
org.frankframework.pipes.AbstractValidator
- All Implemented Interfaces:
FrankElement,HasApplicationContext,HasName,HasTransactionAttribute,IConfigurable,IDualModeValidator,IForwardTarget,IPipe,IScopeProvider,IValidator,IWithParameters,NameAware,EventThrowing,org.springframework.beans.factory.Aware,org.springframework.context.ApplicationContextAware,org.springframework.context.Lifecycle
- Direct Known Subclasses:
JsonValidator,XmlValidator
@Forward(name="parserError",description="a parser exception occurred, probably caused by a non-well-formed document. If not specified, <code>failure</code> is used in such a case.") @Forward(name="failure",description="the document is not valid according to the configured schema.") @Forward(name="warnings",description="warnings occurred. If not specified, <code>success</code> is used.") @Forward(name="outputParserError",description="a <code>parserError</code> when validating a response. If not specified, <code>parserError</code> is used.") @Forward(name="outputFailure",description="a <code>failure</code> when validating a response. If not specified, <code>failure</code> is used.") @Forward(name="outputWarnings",description="warnings occurred when validating a response. If not specified, <code>warnings</code> is used.")
public abstract class AbstractValidator
extends FixedForwardPipe
implements IDualModeValidator
Pipe that validates the input message against a schema.
- Author:
- Gerrit van Brakel
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classWrapper for the response validator. -
Field Summary
Fields inherited from class org.frankframework.pipes.AbstractPipe
parameterNamesMustBeUniqueFields inherited from class org.frankframework.core.TransactionAttributes
logFields inherited from interface org.frankframework.core.IPipe
LONG_DURATION_MONITORING_EVENT, MESSAGE_SIZE_MONITORING_EVENT, PIPE_EXCEPTION_MONITORING_EVENT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidChecks for correct configuration of forward.protected final PipeForwarddetermineForward(AbstractXmlValidator.ValidationResult validationResult, boolean responseMode, Supplier<String> errorMessageProvider) final PipeRunResultdoPipe(Message message, PipeLineSession session) This is where the action takes place.doPipe(Message input, PipeLineSession session, boolean responseMode, String messageRoot) protected booleanvoidsetForwardFailureToSuccess(boolean b) Deprecated.voidsetResponseRoot(String responseRoot) Name of the response root element.voidName of the root element.voidsetSchemaSessionKey(String schemaSessionKey) Session key for retrieving a schema.protected final PipeForwardvalidate(String messageToValidate, PipeLineSession session) protected abstract PipeForwardvalidate(Message messageToValidate, PipeLineSession session, boolean responseMode, String messageRoot) validate(Message message, PipeLineSession session, String messageRoot) Methods inherited from class org.frankframework.pipes.FixedForwardPipe
getParameterValue, setIfParam, setIfValue, setOnlyIfSessionKey, setOnlyIfValue, setSkipOnEmptyInput, setUnlessSessionKey, setUnlessValue, skipPipeMethods inherited from class org.frankframework.pipes.AbstractPipe
addForward, addParameter, consumesSessionVariable, createBean, findForward, getAdapter, getEventSourceName, getForwards, getParameterList, hasRegisteredForward, isRunning, registerEvent, setApplicationContext, setChompCharSize, setDurationThreshold, setElementToMove, setElementToMoveChain, setElementToMoveSessionKey, setEmptyInputReplacement, setGetInputFromFixedValue, setGetInputFromSessionKey, setHideRegex, setLocker, setLogIntermediaryResults, setMaxThreads, setName, setPreserveInput, setRemoveCompactMsgNamespaces, setRestoreMovedElements, setSecLogSessionKeys, setSizeStatistics, setStoreResultInSessionKey, setWriteToSecLog, sizeStatisticsEnabled, start, stop, throwEventMethods inherited from class org.frankframework.core.TransactionAttributes
configureTransactionAttributes, isTransacted, isTransacted, setTransacted, setTransactionTimeoutMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.context.ApplicationContextAware
setApplicationContextMethods inherited from interface org.frankframework.core.FrankElement
addConfigWarningMethods inherited from interface org.frankframework.core.HasApplicationContext
getApplicationContext, getConfigurationClassLoaderMethods inherited from interface org.frankframework.core.HasTransactionAttribute
getTransactionAttribute, getTransactionTimeout, getTxDef, setTransactionAttributeMethods inherited from interface org.frankframework.core.IForwardTarget
getNameMethods inherited from interface org.frankframework.core.IPipe
addForward, consumesSessionVariable, getChompCharSize, getDurationThreshold, getElementToMove, getElementToMoveChain, getElementToMoveSessionKey, getEmptyInputReplacement, getForwards, getGetInputFromFixedValue, getGetInputFromSessionKey, getHideRegex, getLocker, getLogIntermediaryResults, getMaxThreads, getSecLogSessionKeys, getStoreResultInSessionKey, isPreserveInput, isRemoveCompactMsgNamespaces, isRestoreMovedElements, isWriteToSecLog, registerEvent, setChompCharSize, setDurationThreshold, setElementToMove, setElementToMoveChain, setElementToMoveSessionKey, setEmptyInputReplacement, setGetInputFromFixedValue, setGetInputFromSessionKey, setHideRegex, setLocker, setLogIntermediaryResults, setPipeLine, setPreserveInput, setRemoveCompactMsgNamespaces, setRestoreMovedElements, setSecLogSessionKeys, setStoreResultInSessionKey, setWriteToSecLog, sizeStatisticsEnabled, start, stop, throwEvent, throwEventMethods inherited from interface org.frankframework.core.IValidator
setNameMethods inherited from interface org.springframework.context.Lifecycle
isRunning
-
Constructor Details
-
AbstractValidator
public AbstractValidator()
-
-
Method Details
-
configure
Description copied from class:FixedForwardPipeChecks for correct configuration of forward.- Specified by:
configurein interfaceIConfigurable- Overrides:
configurein classFixedForwardPipe- Throws:
ConfigurationException- in case it was not able to configure the component.
-
doPipe
Description copied from interface:IPipeThis is where the action takes place. Pipes may only throw a PipeRunException, to be handled by the caller of this object. Implementations must either consume the message, or pass it on to the next Pipe in the PipeRunResult.- Specified by:
doPipein interfaceIPipe- Throws:
PipeRunException
-
validate
public PipeRunResult validate(Message message, PipeLineSession session, String messageRoot) throws PipeRunException - Specified by:
validatein interfaceIValidator- Throws:
PipeRunException
-
doPipe
public PipeRunResult doPipe(Message input, PipeLineSession session, boolean responseMode, String messageRoot) throws PipeRunException - Throws:
PipeRunException
-
validate
protected final PipeForward validate(String messageToValidate, PipeLineSession session) throws PipeRunException, XmlValidatorException, ConfigurationException -
validate
protected abstract PipeForward validate(Message messageToValidate, PipeLineSession session, boolean responseMode, String messageRoot) throws PipeRunException, XmlValidatorException, ConfigurationException -
determineForward
protected final PipeForward determineForward(AbstractXmlValidator.ValidationResult validationResult, boolean responseMode, Supplier<String> errorMessageProvider) throws PipeRunException - Throws:
PipeRunException
-
isConfiguredForMixedValidation
protected boolean isConfiguredForMixedValidation() -
getResponseValidator
- Specified by:
getResponseValidatorin interfaceIDualModeValidator
-
setSchemaSessionKey
Session key for retrieving a schema. -
setRoot
Name of the root element. -
setResponseRoot
Name of the response root element. -
setForwardFailureToSuccess
@Deprecated @ConfigurationWarning("please specify a forward with name=failure instead") public void setForwardFailureToSuccess(boolean b) Deprecated.Iftrue, the failure forward is replaced by the success forward (like a warning mode).
-