org.modeshape.sequencer.xml
Class XmlSequencer
java.lang.Object
org.modeshape.jcr.api.sequencer.Sequencer
org.modeshape.sequencer.xml.XmlSequencer
- Direct Known Subclasses:
- InheritingXmlSequencer
public class XmlSequencer
- extends Sequencer
A sequencer for XML files, which maintains DTD, entity, comments, and other content. Note that by default the sequencer uses
the default namespace
for unqualified attribute rather than
inheriting the namespace from the element
. (See also
InheritingXmlSequencer
.
Nested Class Summary |
static class |
XmlSequencer.AttributeScoping
The choices for how attributes that have no namespace prefix should be assigned a namespace. |
XmlSequencer
public XmlSequencer()
setAttributeScoping
protected void setAttributeScoping(XmlSequencer.AttributeScoping scoping)
- Parameters:
scoping
- Sets scoping to the specified value.
initialize
public void initialize(NamespaceRegistry registry,
NodeTypeManager nodeTypeManager)
throws RepositoryException,
IOException
- Description copied from class:
Sequencer
- Initialize the sequencer. This is called automatically by ModeShape, and should not be called by the sequencer.
By default this method does nothing, so it should be overridden by implementations to do a one-time initialization of any
internal components. For example, sequencers can use the supplied registry
and nodeTypeManager
objects to register custom namesapces and node types required by the generated content.
- Overrides:
initialize
in class Sequencer
- Parameters:
registry
- the namespace registry that can be used to register custom namespaces; never nullnodeTypeManager
- the node type manager that can be used to register custom node types; never null
- Throws:
RepositoryException
- if operations on the NamespaceRegistry
or NodeTypeManager
fail
IOException
- if any stream based operations fail (like importing cnd files)
execute
public boolean execute(Property inputProperty,
Node outputNode,
Sequencer.Context context)
throws Exception
- Description copied from class:
Sequencer
- Execute the sequencing operation on the specified property, which has recently been created or changed.
Each sequencer is expected to process the value of the property, extract information from the value, and write a structured
representation (in the form of a node or a subgraph of nodes) using the supplied output node. Note that the output node
will either be:
- the selected node, in which case the sequencer was configured to generate the output information directly under the
selected input node; or
- a newly created node in a different location than node being sequenced (in this case, the primary type of the new node
will be 'nt:unstructured', but the sequencer can easily change that using
Node.setPrimaryType(String)
)
The implementation is expected to always clean up all resources that it acquired, even in the case of exceptions.
- Specified by:
execute
in class Sequencer
- Parameters:
inputProperty
- the property that was changed and that should be used as the input; never nulloutputNode
- the node that represents the output for the derived information; never null, and will either be
new
if the output is being placed outside of the selected node, or will not be new when the
output is to be placed on the selected input nodecontext
- the context in which this sequencer is executing, and which may contain additional parameters useful when
generating the output structure; never null
- Returns:
- true if the sequencer's output should be saved, or false otherwise
- Throws:
Exception
- if there was a problem with the sequencer that could not be handled. All exceptions will be logged
automatically as errors by ModeShape.
Copyright © 2008-2012 JBoss, a division of Red Hat. All Rights Reserved.