Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| ModeShape Distribution 3.0.0.Beta3
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.modeshape.sequencer.ddl
Class DdlSequencer

    java.lang.Object
      org.modeshape.jcr.api.sequencer.Sequencer
          org.modeshape.sequencer.ddl.DdlSequencer

    @NotThreadSafe
    public class DdlSequencer

extends Sequencer

A sequencer of DDL files.

Nested Class Summary

Nested classes/interfaces inherited from class org.modeshape.jcr.api.sequencer.Sequencer
`Sequencer.Context`

Field Summary
`protected static URL[]` | `DEFAULT_CLASSPATH`
`protected static List<String>` | `DEFAULT_GRAMMARS`
`protected static Map<String,DdlParser>` | `STANDARD_PARSERS_BY_NAME`

Constructor Summary
`DdlSequencer()`

Method Summary
`protected DdlParsers` | `createParsers(List<DdlParser> parsers)` Method that creates the DdlParsers instance.
`boolean` | `execute(Property inputProperty, Node outputNode, Sequencer.Context context)` Execute the sequencing operation on the specified property, which has recently been created or changed.
`URL[]` | `getClasspath()` Get the names of the classloaders that should be used to load any non-standard DdlParser implementations specified in the list of grammars.
`String[]` | `getGrammars()` Get the names of the grammars that should be considered during processing.
`protected List<DdlParser>` | `getParserList()`
`void` | `initialize(NamespaceRegistry registry, NodeTypeManager nodeTypeManager)` Initialize the sequencer.
`void` | `setClasspath(URL[] classpath)` Set the names of the classloaders that should be used to load any non-standard DdlParser implementations specified in the list of grammars.
`void` | `setGrammars(String[] grammarNamesOrClasses)` Set the names of the grammars that should be considered during processing.

Methods inherited from class org.modeshape.jcr.api.sequencer.Sequencer
`getAcceptedMimeTypes, getLogger, getName, getPathExpressions, getRepositoryName, getUniqueId, hasAcceptedMimeTypes, isAccepted, registerDefaultMimeTypes, registerNamespace, registerNodeTypes, registerNodeTypes, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### DEFAULT_CLASSPATH

    protected static final URL[] DEFAULT_CLASSPATH

### DEFAULT_GRAMMARS

    protected static final List<String> DEFAULT_GRAMMARS

### STANDARD_PARSERS_BY_NAME

    protected static final Map<String,DdlParser> STANDARD_PARSERS_BY_NAME

Constructor Detail

### DdlSequencer

    public DdlSequencer()

Method Detail

### getGrammars

    public String[] getGrammars()

  Get the names of the grammars that should be considered during processing. The grammar names may be the case-insensitive `identifier` of a built-in grammar, or the name of a `DdlParser` implementation class.

  Returns:
    the array of grammar names or classes; never null but possibly empty

### setGrammars

    public void setGrammars(String[] grammarNamesOrClasses)

  Set the names of the grammars that should be considered during processing. The grammar names may be the case-insensitive `identifier` of a built-in grammar, or the name of a `DdlParser` implementation class.

  Parameters:
    `grammarNamesOrClasses` - the names; may be null if the default grammar list should be used

### getClasspath

    public URL[] getClasspath()

  Get the names of the classloaders that should be used to load any non-standard DdlParser implementations specified in the list of grammars.

  Returns:
    the classloader names that make up the classpath; never null but possibly empty if the default classpath should be used

### setClasspath

    public void setClasspath(URL[] classpath)

  Set the names of the classloaders that should be used to load any non-standard DdlParser implementations specified in the list of grammars.

  Parameters:
    `classpath` - the classloader names that make up the classpath; may be null or empty if the default classpath should be used

### createParsers

    protected DdlParsers createParsers(List<DdlParser> parsers)

  Method that creates the DdlParsers instance. This may be overridden in subclasses to creates specific implementations.

  Parameters:
    `parsers` - the list of DdlParser instances to use; may be empty or null
  Returns:
    the DdlParsers implementation; may not be null

### getParserList

    protected List<DdlParser> getParserList()

### 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 once for each Sequencer instance, 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 null
    `nodeTypeManager` - 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:

  1. the selected node, in which case the sequencer was configured to generate the output information directly under the selected input node; or
  2. 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.

  Note: This method must be threadsafe: ModeShape will likely invoke this method concurrently in separate threads, and the method should never modify the state or fields of the Sequencer implementation class. All initialization should be performed in `Sequencer.initialize(NamespaceRegistry, NodeTypeManager)`.

  Specified by:
    `execute` in class `Sequencer`
  Parameters:
    `inputProperty` - the property that was changed and that should be used as the input; never null
    `outputNode` - 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 node
    `context` - 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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| ModeShape Distribution 3.0.0.Beta3
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2008-2012 JBoss, a division of Red Hat. All Rights Reserved.