public class HashStructureHook extends ExtensionHook
HashStructure
. As a general rule, all elements are
unmarshalled as HashStructure, and attributes are values in that
HashStructure.
See HashStructureElementVisitor
for details on how the
extension manifest elements and attributes are unmarshalled into
a HashStructure.
ExtensionHook.URIResource
ElementVisitor.ResourceBundleProvider
ATTRIBUTE_RSBUNDLE_CLASS, KEY_EXTENSION, KEY_RSBUNDLE_CLASS, MANIFEST_XMLNS
KEY_LOCATOR
Modifier | Constructor and Description |
---|---|
|
HashStructureHook()
Constructor invoked by the extension registry.
|
protected |
HashStructureHook(boolean countElementOrder)
When a custom hook requires that the order of elements
be kept by the hash structure, they should call this constructor to turn
element counting on.
|
Modifier and Type | Method and Description |
---|---|
void |
addHashStructureHookListener(HashStructureHookListener listener)
Adds a HashStructureHookListener and synchronously calls the listener's
listenerAttached() method passing the existing contents of the
HashStructureHook's HashStructure.
|
void |
dispose()
Deprecated.
Deferred Extension Loading makes this unsafe, replaced with a no-op
|
void |
end(ElementEndContext context)
Visit the end tag of an xml element.
|
static java.lang.String |
getExtensionId(HashStructure context)
Tries to find id of the extension that was responsible for populating
the specified hash structure.
|
HashStructure |
getHashStructure()
Deprecated.
Add a HashStructureHook listener to read the HashStructure
|
int |
getListenersCount() |
java.util.Collection<NameValuePair<HashStructure>> |
getOrderedElements(HashStructure hash)
Given a
HashStructure representing a custom hook element that
contains non-homogenous elements, get an ordered collection of hash structures
encapsulating those elements. |
static java.lang.String |
getText(HashStructure context)
Gets the text content of some hash structure.
|
void |
removeHashStructureHookListener(HashStructureHookListener listener)
Removes a HashStructureHookListener
|
void |
start(ElementStartContext context)
Visit the start tag of an xml element.
|
findPath, getExtension, getProvider, getRSBundleClass, getSchemaLocation, resolvePath, setProvider, setSchemaLocation
getAttributeHelper, getClassLoader, getMetaClassLoader, getResourceBundle, getResourceBundleProvider, getTextHelper, log, log, setResourceBundleProvider
protected HashStructureHook(boolean countElementOrder)
Extension writers with custom hooks where element order matters must subclass this class and invoke this constructor from their constructor to turn on element counting.
countElementOrder
- flag indicating whether to elements should be
counted to record the order they appear in the extension manifest.public HashStructureHook()
@Deprecated public final HashStructure getHashStructure()
java.lang.IllegalStateException
- if the dispose()
method has been
called.public void start(ElementStartContext context)
ElementVisitor
This implementation does nothing.
start
in class ElementVisitor
context
- information about the xml start tag.public void end(ElementEndContext context)
ElementVisitor
This implementation does nothing.
end
in class ElementVisitor
context
- information about the xml end tag.public static final java.lang.String getExtensionId(HashStructure context)
context
- a HashStructure. Usually this will not be the
HashStructure returned by the getHashStructure()
method, because
that is the root structure, and no single extension is responsible
for it. Must not be null.public static final java.lang.String getText(HashStructure context)
context.getString( "#text" ).
context
- a HashStructure. Must not be null.@Deprecated public void dispose()
getHashStructure()
method after dispose is not permitted, and
will throw an IllegalStateException.public java.util.Collection<NameValuePair<HashStructure>> getOrderedElements(HashStructure hash)
HashStructure
representing a custom hook element that
contains non-homogenous elements, get an ordered collection of hash structures
encapsulating those elements.hash
- the hash structure whose ordered elements are requested.public void addHashStructureHookListener(HashStructureHookListener listener)
listener
- public void removeHashStructureHookListener(HashStructureHookListener listener)
listener
- public int getListenersCount()