org.apache.aries.blueprint.ext
Class ExtNamespaceHandler

java.lang.Object
  extended by org.apache.aries.blueprint.ext.ExtNamespaceHandler
All Implemented Interfaces:
NamespaceHandler

public class ExtNamespaceHandler
extends java.lang.Object
implements NamespaceHandler

A namespace handler for Aries blueprint extensions

Version:
$Rev: 924332 $, $Date: 2010-03-17 15:31:29 +0000 (Wed, 17 Mar 2010) $

Field Summary
static java.lang.String BLUEPRINT_EXT_NAMESPACE
           
static java.lang.String BLUEPRINT_NAMESPACE
           
static java.lang.String DEFAULT_PROPERTIES_ELEMENT
           
static java.lang.String DEFAULTS_REF_ATTRIBUTE
           
static java.lang.String FIELD_INJECTION_ATTRIBUTE
           
static java.lang.String ID_ATTRIBUTE
           
static java.lang.String IGNORE_MISSING_LOCATIONS_ATTRIBUTE
           
static java.lang.String LOCATION_ELEMENT
           
static java.lang.String PLACEHOLDER_PREFIX_ATTRIBUTE
           
static java.lang.String PLACEHOLDER_SUFFIX_ATTRIBUTE
           
static java.lang.String PROPERTY_ELEMENT
           
static java.lang.String PROPERTY_PLACEHOLDER_ELEMENT
           
static java.lang.String PROXY_METHOD_ATTRIBUTE
           
static java.lang.String PROXY_METHOD_CLASSES
           
static java.lang.String PROXY_METHOD_DEFAULT
           
static java.lang.String PROXY_METHOD_GREEDY
           
static java.lang.String ROLE_ATTRIBUTE
           
static java.lang.String ROLE_PROCESSOR
           
static java.lang.String SYSTEM_PROPERTIES_ATTRIBUTE
           
static java.lang.String SYSTEM_PROPERTIES_FALLBACK
           
static java.lang.String SYSTEM_PROPERTIES_NEVER
           
static java.lang.String SYSTEM_PROPERTIES_OVERRIDE
           
static java.lang.String VALUE_ELEMENT
           
 
Constructor Summary
ExtNamespaceHandler()
           
 
Method Summary
 ComponentMetadata decorate(org.w3c.dom.Node node, ComponentMetadata component, ParserContext context)
          Process a child node of an enclosing blueprint component.
 void generateIdIfNeeded(ParserContext context, MutableComponentMetadata metadata)
           
 java.lang.String getId(ParserContext context, org.w3c.dom.Element element)
           
 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
static boolean isBlueprintNamespace(java.lang.String ns)
           
 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
 

Field Detail

BLUEPRINT_NAMESPACE

public static final java.lang.String BLUEPRINT_NAMESPACE
See Also:
Constant Field Values

BLUEPRINT_EXT_NAMESPACE

public static final java.lang.String BLUEPRINT_EXT_NAMESPACE
See Also:
Constant Field Values

PROPERTY_PLACEHOLDER_ELEMENT

public static final java.lang.String PROPERTY_PLACEHOLDER_ELEMENT
See Also:
Constant Field Values

DEFAULT_PROPERTIES_ELEMENT

public static final java.lang.String DEFAULT_PROPERTIES_ELEMENT
See Also:
Constant Field Values

PROPERTY_ELEMENT

public static final java.lang.String PROPERTY_ELEMENT
See Also:
Constant Field Values

VALUE_ELEMENT

public static final java.lang.String VALUE_ELEMENT
See Also:
Constant Field Values

LOCATION_ELEMENT

public static final java.lang.String LOCATION_ELEMENT
See Also:
Constant Field Values

ID_ATTRIBUTE

public static final java.lang.String ID_ATTRIBUTE
See Also:
Constant Field Values

PLACEHOLDER_PREFIX_ATTRIBUTE

public static final java.lang.String PLACEHOLDER_PREFIX_ATTRIBUTE
See Also:
Constant Field Values

PLACEHOLDER_SUFFIX_ATTRIBUTE

public static final java.lang.String PLACEHOLDER_SUFFIX_ATTRIBUTE
See Also:
Constant Field Values

DEFAULTS_REF_ATTRIBUTE

public static final java.lang.String DEFAULTS_REF_ATTRIBUTE
See Also:
Constant Field Values

IGNORE_MISSING_LOCATIONS_ATTRIBUTE

public static final java.lang.String IGNORE_MISSING_LOCATIONS_ATTRIBUTE
See Also:
Constant Field Values

SYSTEM_PROPERTIES_ATTRIBUTE

public static final java.lang.String SYSTEM_PROPERTIES_ATTRIBUTE
See Also:
Constant Field Values

SYSTEM_PROPERTIES_NEVER

public static final java.lang.String SYSTEM_PROPERTIES_NEVER
See Also:
Constant Field Values

SYSTEM_PROPERTIES_FALLBACK

public static final java.lang.String SYSTEM_PROPERTIES_FALLBACK
See Also:
Constant Field Values

SYSTEM_PROPERTIES_OVERRIDE

public static final java.lang.String SYSTEM_PROPERTIES_OVERRIDE
See Also:
Constant Field Values

PROXY_METHOD_ATTRIBUTE

public static final java.lang.String PROXY_METHOD_ATTRIBUTE
See Also:
Constant Field Values

PROXY_METHOD_DEFAULT

public static final java.lang.String PROXY_METHOD_DEFAULT
See Also:
Constant Field Values

PROXY_METHOD_CLASSES

public static final java.lang.String PROXY_METHOD_CLASSES
See Also:
Constant Field Values

PROXY_METHOD_GREEDY

public static final java.lang.String PROXY_METHOD_GREEDY
See Also:
Constant Field Values

ROLE_ATTRIBUTE

public static final java.lang.String ROLE_ATTRIBUTE
See Also:
Constant Field Values

ROLE_PROCESSOR

public static final java.lang.String ROLE_PROCESSOR
See Also:
Constant Field Values

FIELD_INJECTION_ATTRIBUTE

public static final java.lang.String FIELD_INJECTION_ATTRIBUTE
See Also:
Constant Field Values
Constructor Detail

ExtNamespaceHandler

public ExtNamespaceHandler()
Method Detail

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

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 component
context - 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

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 component
component - The enclosing blueprint component
context - The parser context
Returns:
The decorated component to be used instead of the original enclosing component. This can of course be the original component.

getId

public java.lang.String getId(ParserContext context,
                              org.w3c.dom.Element element)

generateIdIfNeeded

public void generateIdIfNeeded(ParserContext context,
                               MutableComponentMetadata metadata)

isBlueprintNamespace

public static boolean isBlueprintNamespace(java.lang.String ns)


Copyright © 2009-2011 The Apache Software Foundation. All Rights Reserved.