Package org.opensaml.xmlsec.encryption.impl

# Class ReferenceTypeImpl

java.lang.Object
org.opensaml.core.xml.AbstractXMLObject
org.opensaml.xmlsec.encryption.impl.ReferenceTypeImpl

All Implemented Interfaces:
  `ElementExtensibleXMLObject`, `XMLObject`, `ReferenceType`

Direct Known Subclasses:
  `DataReferenceImpl`, `KeyReferenceImpl`

public class ReferenceTypeImpl extends AbstractXMLObject implements ReferenceType
Concrete implementation of `ReferenceType`.

## Field Summary

Fields
Modifier and Type
Field
Description
`private String`
`uri`
URI attribute value.
`private final IndexedXMLObjectChildrenList<XMLObject>`
`xmlChildren`
List of <any> XML child elements.

### Fields inherited from interface org.opensaml.xmlsec.encryption.ReferenceType

`TYPE_LOCAL_NAME, TYPE_NAME, URI_ATTRIB_NAME`

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`ReferenceTypeImpl(String namespaceURI, String elementLocalName, String namespacePrefix)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`List<XMLObject>`
`getOrderedChildren()`
Gets an unmodifiable list of child elements in the order that they will appear in the DOM.
`List<XMLObject>`
`getUnknownXMLObjects()`
Gets the list of XMLObjects added to this XMLObject as part of the "any" content model.
`List<XMLObject>`
`getUnknownXMLObjects(QName typeOrName)`
Gets the list of XMLObjects added to this XMLObject as part of the "any" content model, and which match the specified QName.
`String`
`getURI()`
Get the URI attribute which indicates the referent of this reference.
`void`
`setURI(String newURI)`
Set the URI attribute which indicates the referent of this reference.

### Methods inherited from class org.opensaml.core.xml.AbstractXMLObject

`detach, ensureDOM, getDOM, getElementQName, getIDIndex, getNamespaceManager, getNamespaces, getNoNamespaceSchemaLocation, getObjectMetadata, getParent, getSchemaLocation, getSchemaType, hasChildren, hasParent, isNil, isNilXSBoolean, manageQualifiedAttributeNamespace, prepareAttributeValueForAssignment, prepareElementContentForAssignment, prepareForAssignment, prepareForAssignment, prepareForAssignment, registerOwnID, releaseChildrenDOM, releaseDOM, releaseParentDOM, releaseThisAndChildrenDOM, releaseThisandParentDOM, resolveID, resolveIDFromRoot, setDOM, setElementNamespacePrefix, setElementQName, setNil, setNil, setNoNamespaceSchemaLocation, setParent, setSchemaLocation, setSchemaType`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.opensaml.core.xml.XMLObject

`detach, ensureDOM, getDOM, getElementQName, getIDIndex, getNamespaceManager, getNamespaces, getNoNamespaceSchemaLocation, getObjectMetadata, getParent, getSchemaLocation, getSchemaType, hasChildren, hasParent, isNil, isNilXSBoolean, releaseChildrenDOM, releaseDOM, releaseParentDOM, resolveID, resolveIDFromRoot, setDOM, setNil, setNil, setNoNamespaceSchemaLocation, setParent, setSchemaLocation`

## Field Details

### uri

@Nullable private String uri
URI attribute value.

### xmlChildren

@Nonnull private final IndexedXMLObjectChildrenList<XMLObject> xmlChildren
List of <any> XML child elements.

## Constructor Details

### ReferenceTypeImpl

protected ReferenceTypeImpl(@Nullable String namespaceURI, @Nonnull String elementLocalName, @Nullable String namespacePrefix)
Constructor.

Parameters:
  `namespaceURI` - namespace URI
  `elementLocalName` - local name
  `namespacePrefix` - namespace prefix

## Method Details

### getURI

@Nullable public String getURI()
Get the URI attribute which indicates the referent of this reference.

Specified by:
  `getURI` in interface `ReferenceType`
Returns:
  the URI referent attribute value

### setURI

public void setURI(@Nullable String newURI)
Set the URI attribute which indicates the referent of this reference.

Specified by:
  `setURI` in interface `ReferenceType`
Parameters:
  `newURI` - the new URI attribute value

### getUnknownXMLObjects

@Nonnull @Live public List<XMLObject> getUnknownXMLObjects()
Gets the list of XMLObjects added to this XMLObject as part of the "any" content model.

Specified by:
  `getUnknownXMLObjects` in interface `ElementExtensibleXMLObject`
Returns:
  list of XMLObjects added to this XMLObject as part of the "any" content model

### getUnknownXMLObjects

@Nonnull @Live public List<XMLObject> getUnknownXMLObjects(@Nonnull QName typeOrName)
Gets the list of XMLObjects added to this XMLObject as part of the "any" content model, and which match the specified QName.

Specified by:
  `getUnknownXMLObjects` in interface `ElementExtensibleXMLObject`
Parameters:
  `typeOrName` - the QName of the statements to return
Returns:
  list of XMLObjects added to this XMLObject as part of the "any" content model TODO: think this should be typed List<? extends XMLObject>

### getOrderedChildren

@Nullable @Unmodifiable @NotLive public List<XMLObject> getOrderedChildren()
Gets an unmodifiable list of child elements in the order that they will appear in the DOM.

Specified by:
  `getOrderedChildren` in interface `XMLObject`
Returns:
  ordered list of child elements