public final class ExtensibleElement extends AbstractBaseComponent
In DDMS | 2.0 | 3.0 | 3.1 | 4.0.1/4.1 | 5.0 |
Extensible elements must live in any other namespace besides the DDMS XML namespace.
No validation or processing of any kind is performed by DDMSence on extensible attributes, other than the base
validation used when loading attributes from an XML file. This class merely exposes a
getXOMElementCopy()
method which returns a XOM Element that can be manipulated in business-specific ways.
XOM elements can be created as follows:
Element element = new Element("ddmsence:extension", "https://ddmsence.urizone.net/");
element.appendChild("This will be the child text.");
Because it is impossible to cover all of the HTML/JSON/Text output cases for ExtensibleElements, DDMSence will simply print out the existence of extensible elements at the Resource level:
Extensible Layer: true
<meta name="extensible.layer" content="true" />
{"extensible.layer":true}
Details about the XOM Element class can be found at: http://www.xom.nu/apidocs/index.html?nu/xom/Element.html
History |
---|
In DDMS 2.0, only one element is allowed on the resource. In DDMS 3.0 - 4.1, zero to many may appear. The ExtensibleElement extension point was removed in DDMS 5.0. |
Nested Elements | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Attributes | |||
---|---|---|---|
|
Validation Rules | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Modifier and Type | Class and Description |
---|---|
static class |
ExtensibleElement.Builder
Builder for this DDMS component.
|
OUTPUT_TEMPLATES
Constructor and Description |
---|
ExtensibleElement(nu.xom.Element element)
Constructor for creating a component from a XOM Element
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj)
Test for logical equality.
|
String |
getHTMLTextOutput(OutputFormat format,
String prefix,
String suffix)
Renders this component as HTML or Text, with an optional prefix to nest it.
|
com.google.gson.JsonObject |
getJSONObject()
Renders this component as a JSON object, which can either be converted to a JSON string or inserted into the
parent JSON object.
|
int |
hashCode()
Returns a hashcode for the component.
|
protected void |
validate()
Base case for validation.
|
addDdms40Warning, addJson, addJson, addJson, addJson, addWarning, addWarnings, buildHTMLTextOutput, buildHTMLTextOutput, buildIndex, buildPrefix, getAttributeValue, getAttributeValue, getChild, getChildTextAsDouble, getDDMSVersion, getLocatorSuffix, getName, getNamespace, getNestedComponents, getPrefix, getQualifiedName, getSecurityAttributes, getValidationWarnings, getXOMElement, getXOMElementCopy, requireAtLeastVersion, requireAtMostVersion, setXOMElement, toHTML, toJSON, toString, toText, toXML, validateWarnings
public ExtensibleElement(nu.xom.Element element) throws InvalidDDMSException
element
- the XOM element representing thisInvalidDDMSException
- if any required information is missing or malformedprotected void validate() throws InvalidDDMSException
AbstractBaseComponent
validate
in class AbstractBaseComponent
InvalidDDMSException
AbstractBaseComponent.validate()
public com.google.gson.JsonObject getJSONObject()
AbstractBaseComponent
getJSONObject
in class AbstractBaseComponent
AbstractBaseComponent.getJSONObject()
public String getHTMLTextOutput(OutputFormat format, String prefix, String suffix)
AbstractBaseComponent
I consider this to be an internal method, that unfortunately must be marked as public to allow cross-package access when generating output. Use toHTML() and toText() as the formal, public methods to generate output.
getHTMLTextOutput
in class AbstractBaseComponent
format
- the desired format of this outputprefix
- an optional prefix to put on each name.suffix
- an optional suffix to append to each name, such as an index.AbstractBaseComponent.getHTMLTextOutput(OutputFormat, String, String)
public boolean equals(Object obj)
AbstractBaseComponent
The base case tests against the name value and namespaceURI, as well as any child components classified as "nested components" and any security attributes. Extending classes may require additional rules for equality. This case automatically includes any nested components or security attributes.
equals
in class AbstractBaseComponent
Object.equals(Object)
public int hashCode()
AbstractBaseComponent
This automatically includes any nested components or security attributes.
hashCode
in class AbstractBaseComponent
Object.hashCode()
Copyright 2010 - 2019 by Brian Uri!
Generated on 09/15/2016 12:36 PM
https://ddmsence.urizone.net/