public class ExtNamespaceHandler extends Object implements NamespaceHandler
Modifier and Type | Field and Description |
---|---|
static String |
BLUEPRINT_EXT_NAMESPACE |
static String |
BLUEPRINT_NAMESPACE |
static String |
DEFAULT_PROPERTIES_ELEMENT |
static String |
DEFAULTS_REF_ATTRIBUTE |
static String |
FIELD_INJECTION_ATTRIBUTE |
static String |
ID_ATTRIBUTE |
static String |
IGNORE_MISSING_LOCATIONS_ATTRIBUTE |
static String |
LOCATION_ELEMENT |
static String |
PLACEHOLDER_PREFIX_ATTRIBUTE |
static String |
PLACEHOLDER_SUFFIX_ATTRIBUTE |
static String |
PROPERTY_ELEMENT |
static String |
PROPERTY_PLACEHOLDER_ELEMENT |
static String |
PROXY_METHOD_ATTRIBUTE |
static String |
PROXY_METHOD_CLASSES |
static String |
PROXY_METHOD_DEFAULT |
static String |
PROXY_METHOD_GREEDY |
static String |
ROLE_ATTRIBUTE |
static String |
ROLE_PROCESSOR |
static String |
SYSTEM_PROPERTIES_ATTRIBUTE |
static String |
SYSTEM_PROPERTIES_FALLBACK |
static String |
SYSTEM_PROPERTIES_NEVER |
static String |
SYSTEM_PROPERTIES_OVERRIDE |
static String |
VALUE_ELEMENT |
Constructor and Description |
---|
ExtNamespaceHandler() |
Modifier and Type | Method and Description |
---|---|
ComponentMetadata |
decorate(Node node,
ComponentMetadata component,
ParserContext context)
Process a child node of an enclosing blueprint component.
|
void |
generateIdIfNeeded(ParserContext context,
MutableComponentMetadata metadata) |
String |
getId(ParserContext context,
Element element) |
Set<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.
|
URL |
getSchemaLocation(String namespace)
Retrieve a URL from where the schema for a given namespace can be retrieved
|
static boolean |
isBlueprintNamespace(String ns) |
Metadata |
parse(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. |
public static final String BLUEPRINT_NAMESPACE
public static final String BLUEPRINT_EXT_NAMESPACE
public static final String PROPERTY_PLACEHOLDER_ELEMENT
public static final String DEFAULT_PROPERTIES_ELEMENT
public static final String PROPERTY_ELEMENT
public static final String VALUE_ELEMENT
public static final String LOCATION_ELEMENT
public static final String ID_ATTRIBUTE
public static final String PLACEHOLDER_PREFIX_ATTRIBUTE
public static final String PLACEHOLDER_SUFFIX_ATTRIBUTE
public static final String DEFAULTS_REF_ATTRIBUTE
public static final String IGNORE_MISSING_LOCATIONS_ATTRIBUTE
public static final String SYSTEM_PROPERTIES_ATTRIBUTE
public static final String SYSTEM_PROPERTIES_NEVER
public static final String SYSTEM_PROPERTIES_FALLBACK
public static final String SYSTEM_PROPERTIES_OVERRIDE
public static final String PROXY_METHOD_ATTRIBUTE
public static final String PROXY_METHOD_DEFAULT
public static final String PROXY_METHOD_CLASSES
public static final String PROXY_METHOD_GREEDY
public static final String ROLE_ATTRIBUTE
public static final String ROLE_PROCESSOR
public static final String FIELD_INJECTION_ATTRIBUTE
public URL getSchemaLocation(String namespace)
NamespaceHandler
getSchemaLocation
in interface NamespaceHandler
namespace
- The schema's namespacepublic Set<Class> getManagedClasses()
NamespaceHandler
getManagedClasses
in interface NamespaceHandler
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 performedpublic Metadata parse(Element element, ParserContext context)
NamespaceHandler
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.parse
in interface NamespaceHandler
element
- The DOM element representing the custom componentcontext
- The ParserContext
for parsing sub-components and creating metadata objectsMutableMetadata
type to enable further decoration by other namespace handlerspublic ComponentMetadata decorate(Node node, ComponentMetadata component, ParserContext context)
NamespaceHandler
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.decorate
in interface NamespaceHandler
node
- The node associated with this NamespaceHandler that should be used to decorate the enclosing
componentcomponent
- The enclosing blueprint componentcontext
- The parser contextpublic String getId(ParserContext context, Element element)
public void generateIdIfNeeded(ParserContext context, MutableComponentMetadata metadata)
public static boolean isBlueprintNamespace(String ns)
Copyright © 2016. All rights reserved.