public final class RelatedResource extends AbstractQualifierValue
In DDMS | 2.0 | 3.0 | 3.1 | 4.0.1/4.1 | 5.0 |
History |
---|
Before DDMS 4.0.1, ddms:RelatedResources was the top-level component (0-many in a resource) and contained 1 to many ddms:relatedResource components. Starting in DDMS 4.0.1, the ddms:RelatedResources component was removed, and the ddms:relatedResource now contains all of the parent information (relationship and direction). The element-based constructor for this class can automatically handle these cases, and will automatically mediate the Text/HTML/JSON/XML output:
If you have a case where a pre-DDMS 4.0.1 ddms:RelatedResources element contained 5 ddms:relatedResource elements, the Resource class will automatically mediate it to create 5 RelatedResource instances. If an old-fashioned parent element containing multiple children is loaded in the element-based constructor, only the first child will be processed, and a warning will be provided. |
Nested Elements | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Attributes | ||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Validation Rules | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Does NOT validate that the value is valid against the qualifier's vocabulary. |
Modifier and Type | Class and Description |
---|---|
static class |
RelatedResource.Builder
Builder for this DDMS component.
|
Modifier and Type | Field and Description |
---|---|
static String |
BIDRECTIONAL_DIRECTION
The value for an bidirectional direction.
|
static String |
INBOUND_DIRECTION
The value for an inbound direction.
|
static String |
OLD_INNER_NAME
The pre-DDMS 4.0.1 name of the nested resource elements
|
static String |
OUTBOUND_DIRECTION
The value for an outbound direction.
|
OUTPUT_TEMPLATES
Constructor and Description |
---|
RelatedResource(nu.xom.Element element)
Constructor for creating a component from a XOM Element
|
RelatedResource(List<Link> links,
String relationship,
String direction,
String qualifier,
String value,
SecurityAttributes securityAttributes)
Constructor for creating a component from raw data
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj)
Test for logical equality.
|
String |
getDirection()
Accessor for the direction attribute (may be empty)
|
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.
|
List<Link> |
getLinks()
Accessor for the links (1 to many).
|
static String |
getName(DDMSVersion version)
Accessor for the element name of this component, based on the version of DDMS used
|
protected List<IDDMSComponent> |
getNestedComponents()
Accessor for a collection of nested components.
|
String |
getQualifier()
Accessor for the value of the qualifier attribute
|
String |
getRelationship()
Accessor for the relationship attribute
|
SecurityAttributes |
getSecurityAttributes()
Accessor for the Security Attributes.
|
String |
getValue()
Accessor for the value of the value attribute
|
int |
hashCode()
Returns a hashcode for the component.
|
protected void |
validate()
Base case for validation.
|
static void |
validateRelationshipDirection(String direction)
Asserts that a direction is valid.
|
protected void |
validateWarnings()
Base case for warnings.
|
getQualifierName, getValueName
addDdms40Warning, addJson, addJson, addJson, addJson, addWarning, addWarnings, buildHTMLTextOutput, buildHTMLTextOutput, buildIndex, buildPrefix, getAttributeValue, getAttributeValue, getChild, getChildTextAsDouble, getDDMSVersion, getLocatorSuffix, getName, getNamespace, getPrefix, getQualifiedName, getValidationWarnings, getXOMElement, getXOMElementCopy, requireAtLeastVersion, requireAtMostVersion, setXOMElement, toHTML, toJSON, toString, toText, toXML
public static final String INBOUND_DIRECTION
public static final String OUTBOUND_DIRECTION
public static final String BIDRECTIONAL_DIRECTION
public static final String OLD_INNER_NAME
public RelatedResource(nu.xom.Element element) throws InvalidDDMSException
element
- the XOM element representing thisInvalidDDMSException
- if any required information is missing or malformedpublic RelatedResource(List<Link> links, String relationship, String direction, String qualifier, String value, SecurityAttributes securityAttributes) throws InvalidDDMSException
links
- the xlinksrelationship
- the relationship attributedirection
- the relationship directionqualifier
- the value of the qualifier attributevalue
- the value of the value attributesecurityAttributes
- any security attributesInvalidDDMSException
- if any required information is missing or malformedpublic static void validateRelationshipDirection(String direction) throws InvalidDDMSException
direction
- the string to checkInvalidDDMSException
- if the value is null, empty or invalid.protected void validate() throws InvalidDDMSException
AbstractBaseComponent
validate
in class AbstractBaseComponent
InvalidDDMSException
AbstractBaseComponent.validate()
protected void validateWarnings()
AbstractBaseComponent
validateWarnings
in class AbstractBaseComponent
AbstractBaseComponent.validateWarnings()
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)
protected List<IDDMSComponent> getNestedComponents()
AbstractBaseComponent
getNestedComponents
in class AbstractBaseComponent
AbstractBaseComponent.getNestedComponents()
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 AbstractQualifierValue
Object.equals(Object)
public int hashCode()
AbstractBaseComponent
This automatically includes any nested components or security attributes.
hashCode
in class AbstractQualifierValue
Object.hashCode()
public static String getName(DDMSVersion version)
version
- the DDMSVersionpublic List<Link> getLinks()
public String getRelationship()
public String getDirection()
public String getQualifier()
getQualifier
in class AbstractQualifierValue
public String getValue()
getValue
in class AbstractQualifierValue
public SecurityAttributes getSecurityAttributes()
getSecurityAttributes
in interface IDDMSComponent
getSecurityAttributes
in class AbstractBaseComponent
Copyright 2010 - 2019 by Brian Uri!
Generated on 09/15/2016 12:36 PM
https://ddmsence.urizone.net/