Package org.opensaml.saml.saml2.metadata.impl

# Class EntityDescriptorImpl

java.lang.Object
org.opensaml.core.xml.AbstractXMLObject
org.opensaml.xmlsec.signature.AbstractSignableXMLObject
org.opensaml.saml.common.AbstractSignableSAMLObject
org.opensaml.saml.saml2.metadata.impl.EntityDescriptorImpl

All Implemented Interfaces:
  `AttributeExtensibleXMLObject`, `XMLObject`, `SAMLObject`, `SignableSAMLObject`, `CacheableSAMLObject`, `TimeBoundSAMLObject`, `EntityDescriptor`, `SignableXMLObject`

public class EntityDescriptorImpl extends AbstractSignableSAMLObject implements EntityDescriptor
Concretate implementation of `EntityDescriptor`.

## Field Summary

Fields
Modifier and Type
Field
Description
`private final XMLObjectChildrenList<AdditionalMetadataLocation>`
`additionalMetadata`
Additional metadata locations for this entity.
`private AffiliationDescriptor`
`affiliationDescriptor`
Affiliatition descriptor for this entity.
`private Duration`
`cacheDuration`
cacheDurection attribute.
`private final XMLObjectChildrenList<ContactPerson>`
`contactPersons`
Contact persons for this entity.
`private String`
`entityID`
Entity ID of this Entity.
`private Extensions`
`extensions`
Extensions child.
`private String`
`id`
ID attribute.
`private Organization`
`organization`
Organization the administers this entity.
`private final IndexedXMLObjectChildrenList<RoleDescriptor>`
`roleDescriptors`
Role descriptors for this entity.
`private final AttributeMap`
`unknownAttributes`
"anyAttribute" attributes.
`private Instant`
`validUntil`
validUntil attribute.

### Fields inherited from interface org.opensaml.saml.saml2.common.CacheableSAMLObject

`CACHE_DURATION_ATTRIB_NAME, CACHE_DURATION_ATTRIB_QNAME`

### Fields inherited from interface org.opensaml.saml.saml2.metadata.EntityDescriptor

`DEFAULT_ELEMENT_LOCAL_NAME, DEFAULT_ELEMENT_NAME, ELEMENT_QNAME, ENTITY_ID_ATTRIB_NAME, ID_ATTRIB_NAME, TYPE_LOCAL_NAME, TYPE_NAME`

### Fields inherited from interface org.opensaml.saml.saml2.common.TimeBoundSAMLObject

`VALID_UNTIL_ATTRIB_NAME, VALID_UNTIL_ATTRIB_QNAME`

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`List<AdditionalMetadataLocation>`
`getAdditionalMetadataLocations()`
Gets the additional metadata locations for this entity.
`AffiliationDescriptor`
`getAffiliationDescriptor()`
Gets the affiliation descriptor for this entity.
`AttributeAuthorityDescriptor`
`getAttributeAuthorityDescriptor(String supportedProtocol)`
Gets the first `AttributeAuthorityDescriptor` role descriptor for this entity that supports the given protocol.
`AuthnAuthorityDescriptor`
`getAuthnAuthorityDescriptor(String supportedProtocol)`
Gets the first `AuthnAuthorityDescriptor` role descriptor for this entity that supports the given protocol.
`Duration`
`getCacheDuration()`
Gets the maximum time that this descriptor should be cached.
`List<ContactPerson>`
`getContactPersons()`
Get the contact people for this entity.
`String`
`getEntityID()`
Gets the entity ID for this entity descriptor.
`Extensions`
`getExtensions()`
Gets the Extensions child of this object.
`String`
`getID()`
Gets the ID for this entity descriptor.
`IDPSSODescriptor`
`getIDPSSODescriptor(String supportedProtocol)`
Gets the first `IDPSSODescriptor` role descriptor for this entity that supports the given protocol.
`List<XMLObject>`
`getOrderedChildren()`
Gets an unmodifiable list of child elements in the order that they will appear in the DOM.
`Organization`
`getOrganization()`
Gets the organization for this entity.
`PDPDescriptor`
`getPDPDescriptor(String supportedProtocol)`
Gets the first `PDPDescriptor` role descriptor for this entity that supports the given protocol.
`List<RoleDescriptor>`
`getRoleDescriptors()`
Gets all the role descriptors for this entity descriptor.
`List<RoleDescriptor>`
`getRoleDescriptors(QName typeOrName)`
Gets all the role descriptors for this entity descriptor that match the supplied QName parameter.
`List<RoleDescriptor>`
`getRoleDescriptors(QName type, String supportedProtocol)`
Gets all the role descriptors for this entity that support the given protocol.
`String`
`getSignatureReferenceID()`
Gets the value of the ID attribute for this SAML object which will be used as its signature reference.
`SPSSODescriptor`
`getSPSSODescriptor(String supportedProtocol)`
Gets the first `SPSSODescriptor` role descriptor for this entity that supports the given protocol.
`AttributeMap`
`getUnknownAttributes()`
Gets a mutable map of the attributes.
`Instant`
`getValidUntil()`
Gets the date until which this descriptor is valid.
`boolean`
`isValid()`
Checks to see if the current time is past the validUntil time.
`void`
`setAffiliationDescriptor(AffiliationDescriptor descriptor)`
Sets the affiliation descriptor for this entity.
`void`
`setCacheDuration(Duration duration)`
Sets the maximum time that this descriptor should be cached.
`void`
`setEntityID(String newId)`
Sets the entity ID for this entity descriptor.
`void`
`setExtensions(Extensions newExtensions)`
Sets the Extensions child of this object.
`void`
`setID(String newID)`
Sets the ID for this entity descriptor.
`void`
`setOrganization(Organization newOrganization)`
Sets the organization for this entity.
`void`
`setValidUntil(Instant newValidUntil)`
Sets the date until which this descriptor is valid.

### Methods inherited from class org.opensaml.saml.common.AbstractSignableSAMLObject

`equals, hashCode, setSignature`

### Methods inherited from class org.opensaml.xmlsec.signature.AbstractSignableXMLObject

`getSignature, isSigned`

### 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, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.opensaml.xmlsec.signature.SignableXMLObject

`getSignature, isSigned, setSignature`

### 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

### entityID

@Nullable private String entityID
Entity ID of this Entity.

### id

@Nullable private String id
ID attribute.

### validUntil

@Nullable private Instant validUntil
validUntil attribute.

### cacheDuration

@Nullable private Duration cacheDuration
cacheDurection attribute.

### extensions

@Nullable private Extensions extensions
Extensions child.

### roleDescriptors

@Nonnull private final IndexedXMLObjectChildrenList<RoleDescriptor> roleDescriptors
Role descriptors for this entity.

### affiliationDescriptor

@Nullable private AffiliationDescriptor affiliationDescriptor
Affiliatition descriptor for this entity.

### organization

@Nullable private Organization organization
Organization the administers this entity.

### contactPersons

@Nonnull private final XMLObjectChildrenList<ContactPerson> contactPersons
Contact persons for this entity.

### additionalMetadata

@Nonnull private final XMLObjectChildrenList<AdditionalMetadataLocation> additionalMetadata
Additional metadata locations for this entity.

### unknownAttributes

@Nonnull private final AttributeMap unknownAttributes
"anyAttribute" attributes.

## Constructor Details

### EntityDescriptorImpl

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

Parameters:
  `namespaceURI` - the namespace the element is in
  `elementLocalName` - the local name of the XML element this Object represents
  `namespacePrefix` - the prefix for the given namespace

## Method Details

### getEntityID

@Nullable public String getEntityID()
Gets the entity ID for this entity descriptor.

Specified by:
  `getEntityID` in interface `EntityDescriptor`
Returns:
  the entity ID for this entity descriptor

### setEntityID

public void setEntityID(@Nullable String newId)
Sets the entity ID for this entity descriptor.

Specified by:
  `setEntityID` in interface `EntityDescriptor`
Parameters:
  `newId` - the entity ID for this entity descriptor

### getID

@Nullable public String getID()
Gets the ID for this entity descriptor.

Specified by:
  `getID` in interface `EntityDescriptor`
Returns:
  the ID for this entity descriptor

### setID

public void setID(@Nullable String newID)
Sets the ID for this entity descriptor.

Specified by:
  `setID` in interface `EntityDescriptor`
Parameters:
  `newID` - the ID for this entity descriptor

### isValid

public boolean isValid()
Checks to see if the current time is past the validUntil time.

Specified by:
  `isValid` in interface `TimeBoundSAMLObject`
Returns:
  true of this descriptor is still valid otherwise false

### getValidUntil

@Nullable public Instant getValidUntil()
Gets the date until which this descriptor is valid.

Specified by:
  `getValidUntil` in interface `TimeBoundSAMLObject`
Returns:
  the date until which this descriptor is valid

### setValidUntil

public void setValidUntil(@Nullable Instant newValidUntil)
Sets the date until which this descriptor is valid.

Specified by:
  `setValidUntil` in interface `TimeBoundSAMLObject`
Parameters:
  `newValidUntil` - the date until which this descriptor is valid

### getCacheDuration

@Nullable public Duration getCacheDuration()
Gets the maximum time that this descriptor should be cached.

Specified by:
  `getCacheDuration` in interface `CacheableSAMLObject`
Returns:
  the maximum time that this descriptor should be cached

### setCacheDuration

public void setCacheDuration(@Nullable Duration duration)
Sets the maximum time that this descriptor should be cached.

Specified by:
  `setCacheDuration` in interface `CacheableSAMLObject`
Parameters:
  `duration` - the maximum time that this descriptor should be cached

### getExtensions

@Nullable public Extensions getExtensions()
Gets the Extensions child of this object.

Specified by:
  `getExtensions` in interface `EntityDescriptor`
Returns:
  the Extensions child of this object

### setExtensions

public void setExtensions(@Nullable Extensions newExtensions)
Sets the Extensions child of this object.

Specified by:
  `setExtensions` in interface `EntityDescriptor`
Parameters:
  `newExtensions` - the Extensions child of this object

### getRoleDescriptors

@Nonnull @Live public List<RoleDescriptor> getRoleDescriptors()
Gets all the role descriptors for this entity descriptor.

Specified by:
  `getRoleDescriptors` in interface `EntityDescriptor`
Returns:
  the role descriptors for this entity descriptor

### getRoleDescriptors

@Nonnull @Live public List<RoleDescriptor> getRoleDescriptors(@Nonnull QName typeOrName)
Gets all the role descriptors for this entity descriptor that match the supplied QName parameter.

Specified by:
  `getRoleDescriptors` in interface `EntityDescriptor`
Parameters:
  `typeOrName` - the name of the role
Returns:
  the role descriptors for this entity descriptor

### getRoleDescriptors

@Nonnull @NotLive @Unmodifiable public List<RoleDescriptor> getRoleDescriptors(@Nonnull QName type, @Nonnull @NotEmpty String supportedProtocol)
Gets all the role descriptors for this entity that support the given protocol.

Specified by:
  `getRoleDescriptors` in interface `EntityDescriptor`
Parameters:
  `type` - the name of the role
  `supportedProtocol` - the supported protocol
Returns:
  the list of role descriptors that support the given protocol

### getIDPSSODescriptor

@Nullable public IDPSSODescriptor getIDPSSODescriptor(@Nonnull @NotEmpty String supportedProtocol)
Gets the first `IDPSSODescriptor` role descriptor for this entity that supports the given protocol.

Specified by:
  `getIDPSSODescriptor` in interface `EntityDescriptor`
Parameters:
  `supportedProtocol` - protocol that must be supported
Returns:
  the `IDPSSODescriptor` role descriptor

### getSPSSODescriptor

@Nullable public SPSSODescriptor getSPSSODescriptor(@Nonnull @NotEmpty String supportedProtocol)
Gets the first `SPSSODescriptor` role descriptor for this entity that supports the given protocol.

Specified by:
  `getSPSSODescriptor` in interface `EntityDescriptor`
Parameters:
  `supportedProtocol` - protocol that must be supported
Returns:
  the `SPSSODescriptor` role descriptor

### getAuthnAuthorityDescriptor

@Nullable public AuthnAuthorityDescriptor getAuthnAuthorityDescriptor(@Nonnull @NotEmpty String supportedProtocol)
Gets the first `AuthnAuthorityDescriptor` role descriptor for this entity that supports the given protocol.

Specified by:
  `getAuthnAuthorityDescriptor` in interface `EntityDescriptor`
Parameters:
  `supportedProtocol` - protocol that must be supported
Returns:
  the `AuthnAuthorityDescriptor` role descriptor

### getAttributeAuthorityDescriptor

@Nullable public AttributeAuthorityDescriptor getAttributeAuthorityDescriptor(@Nonnull @NotEmpty String supportedProtocol)
Gets the first `AttributeAuthorityDescriptor` role descriptor for this entity that supports the given protocol.

Specified by:
  `getAttributeAuthorityDescriptor` in interface `EntityDescriptor`
Parameters:
  `supportedProtocol` - protocol that must be supported
Returns:
  the `AttributeAuthorityDescriptor` role descriptor

### getPDPDescriptor

@Nullable public PDPDescriptor getPDPDescriptor(@Nonnull @NotEmpty String supportedProtocol)
Gets the first `PDPDescriptor` role descriptor for this entity that supports the given protocol.

Specified by:
  `getPDPDescriptor` in interface `EntityDescriptor`
Parameters:
  `supportedProtocol` - protocol that must be supported
Returns:
  the `PDPDescriptor` role descriptor

### getAffiliationDescriptor

@Nullable public AffiliationDescriptor getAffiliationDescriptor()
Gets the affiliation descriptor for this entity.

Specified by:
  `getAffiliationDescriptor` in interface `EntityDescriptor`
Returns:
  the affiliation descriptor for this entity

### setAffiliationDescriptor

public void setAffiliationDescriptor(@Nullable AffiliationDescriptor descriptor)
Sets the affiliation descriptor for this entity.

Specified by:
  `setAffiliationDescriptor` in interface `EntityDescriptor`
Parameters:
  `descriptor` - the affiliation descriptor for this entity

### getOrganization

@Nullable public Organization getOrganization()
Gets the organization for this entity.

Specified by:
  `getOrganization` in interface `EntityDescriptor`
Returns:
  the organization for this entity

### setOrganization

public void setOrganization(@Nullable Organization newOrganization)
Sets the organization for this entity.

Specified by:
  `setOrganization` in interface `EntityDescriptor`
Parameters:
  `newOrganization` - the organization for this entity

### getContactPersons

@Nonnull @Live public List<ContactPerson> getContactPersons()
Get the contact people for this entity.

Specified by:
  `getContactPersons` in interface `EntityDescriptor`
Returns:
  the contact people for this entity

### getAdditionalMetadataLocations

@Nonnull @Live public List<AdditionalMetadataLocation> getAdditionalMetadataLocations()
Gets the additional metadata locations for this entity.

Specified by:
  `getAdditionalMetadataLocations` in interface `EntityDescriptor`
Returns:
  the additional metadata locations for this entity

### getUnknownAttributes

@Nonnull public AttributeMap getUnknownAttributes()
Gets a mutable map of the attributes. The map key is the namespace qualified name of the attribute, the map value is the value of the attribute.

Specified by:
  `getUnknownAttributes` in interface `AttributeExtensibleXMLObject`
Returns:
  a map of the attributes

### getSignatureReferenceID

@Nullable public String getSignatureReferenceID()
Gets the value of the ID attribute for this SAML object which will be used as its signature reference.

Specified by:
  `getSignatureReferenceID` in interface `SignableSAMLObject`
Returns:
  the value of this SAMLObject ID attribute

### getOrderedChildren

@Nullable @NotLive @Unmodifiable 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