org.apache.aries.blueprint.testbundlea
Class NSHandlerThree
java.lang.Object
org.apache.aries.blueprint.testbundlea.NSHandlerThree
- All Implemented Interfaces:
- NamespaceHandler
public class NSHandlerThree
- extends java.lang.Object
- implements NamespaceHandler
Field Summary |
static java.lang.String |
NSURI
|
Method Summary |
ComponentMetadata |
decorate(org.w3c.dom.Node node,
ComponentMetadata component,
ParserContext context)
Process a child node of an enclosing blueprint component. |
java.util.Set<java.lang.Class> |
getManagedClasses()
Specify a set of classes that must be consistent between a blueprint bundle and this namespace handler
The blueprint extender will not invoke a namespace handler if any of the managed classes are inconsistent
with the class space of the blueprint bundle (i.e. |
java.net.URL |
getSchemaLocation(java.lang.String namespace)
Retrieve a URL from where the schema for a given namespace can be retrieved |
Metadata |
parse(org.w3c.dom.Element element,
ParserContext context)
Parse a stand-alone blueprint component
Given an Element node as a root, this method parses the stand-alone component and returns its
metadata. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
NSURI
public static java.lang.String NSURI
NSHandlerThree
public NSHandlerThree()
decorate
public ComponentMetadata decorate(org.w3c.dom.Node node,
ComponentMetadata component,
ParserContext context)
- Description copied from interface:
NamespaceHandler
- Process a child node of an enclosing blueprint component.
If the decorator method returns a new
ComponentMetadata
instance, this will replace the argument
ComponentMetadata
in subsequent parsing and namespace handler invocations. A namespace
handler that elects to return a new ComponentMetadata
instance should
ensure that existing interceptors are registered against the new instance if appropriate.
Due to the interaction with interceptors, a namespace handler should prefer to change a component metadata
instead of returning a new instance wherever possible. This can be achieved by casting a
ComponentMetadata
to its corresponding MutabableComponentMetadata
instance.
Note however that a given ComponentMetadata
instance cannot be guaranteed to implement
the mutable interface if it was constructed by an agent other than the blueprint extender.
- Specified by:
decorate
in interface NamespaceHandler
- Parameters:
node
- The node associated with this NamespaceHandler that should be used to decorate the enclosing
componentcomponent
- The enclosing blueprint componentcontext
- The parser context
- Returns:
- The decorated component to be used instead of the original enclosing component. This can of course be
the original component.
parse
public Metadata parse(org.w3c.dom.Element element,
ParserContext context)
- Description copied from interface:
NamespaceHandler
- Parse a stand-alone blueprint component
Given an
Element
node as a root, this method parses the stand-alone component and returns its
metadata. The supplied ParserContext
should be used to parse embedded blueprint elements as well
as creating metadata.
- Specified by:
parse
in interface NamespaceHandler
- Parameters:
element
- The DOM element representing the custom componentcontext
- The ParserContext
for parsing sub-components and creating metadata objects
- Returns:
- A metadata instance representing the custom component. This should be an instance of an appropriate
MutableMetadata
type to enable further decoration by other namespace handlers
getSchemaLocation
public java.net.URL getSchemaLocation(java.lang.String namespace)
- Description copied from interface:
NamespaceHandler
- Retrieve a URL from where the schema for a given namespace can be retrieved
- Specified by:
getSchemaLocation
in interface NamespaceHandler
- Parameters:
namespace
- The schema's namespace
- Returns:
- A URL that points to the location of the schema or null if the namespace validation
is not needed
getManagedClasses
public java.util.Set<java.lang.Class> getManagedClasses()
- Description copied from interface:
NamespaceHandler
- Specify a set of classes that must be consistent between a blueprint bundle and this namespace handler
The blueprint extender will not invoke a namespace handler if any of the managed classes are inconsistent
with the class space of the blueprint bundle (i.e. if the blueprint bundle loads any of the managed classes
from a different classloader).
- Specified by:
getManagedClasses
in interface NamespaceHandler
- Returns:
- a
Set
of classes that must be compatible with any blueprint bundle for which this namespace
handler is to apply or null
if no compatibility checks are to be performed
Copyright © 2009-2011 The Apache Software Foundation. All Rights Reserved.