Package org.opensaml.saml.saml2.metadata

# Interface RoleDescriptor

All Superinterfaces:
  `AttributeExtensibleXMLObject`, `CacheableSAMLObject`, `SAMLObject`, `SignableSAMLObject`, `SignableXMLObject`, `TimeBoundSAMLObject`, `XMLObject`

All Known Subinterfaces:
  `AttributeAuthorityDescriptor`, `AttributeQueryDescriptorType`, `AuthnAuthorityDescriptor`, `AuthnQueryDescriptorType`, `AuthzDecisionQueryDescriptorType`, `IDPSSODescriptor`, `PDPDescriptor`, `QueryDescriptorType`, `SPSSODescriptor`, `SSODescriptor`

All Known Implementing Classes:
  `AttributeAuthorityDescriptorImpl`, `AttributeQueryDescriptorTypeImpl`, `AuthnAuthorityDescriptorImpl`, `AuthnQueryDescriptorTypeImpl`, `AuthzDecisionQueryDescriptorTypeImpl`, `IDPSSODescriptorImpl`, `PDPDescriptorImpl`, `QueryDescriptorTypeImpl`, `RoleDescriptorImpl`, `RoleDescriptorXSAnyAdapter`, `SPSSODescriptorImpl`, `SSODescriptorImpl`

public interface RoleDescriptor extends SignableSAMLObject, TimeBoundSAMLObject, CacheableSAMLObject, AttributeExtensibleXMLObject
SAML 2.0 Metadata RoleDescriptor.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`DEFAULT_ELEMENT_LOCAL_NAME`
Element name, no namespace.
`static final QName`
`DEFAULT_ELEMENT_NAME`
Default element name.
`static final String`
`ERROR_URL_ATTRIB_NAME`
"errorURL" attribute's local name.
`static final String`
`ID_ATTRIB_NAME`
"ID" attribute's local name.
`static final String`
`PROTOCOL_ENUMERATION_ATTRIB_NAME`
"protocolEnumeration" attribute's local name.
`static final String`
`TYPE_LOCAL_NAME`
Local name of the XSI type.
`static final QName`
`TYPE_NAME`
QName of the XSI type.

### 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.common.TimeBoundSAMLObject

`VALID_UNTIL_ATTRIB_NAME, VALID_UNTIL_ATTRIB_QNAME`

## Method Summary

Modifier and Type
Method
Description
`void`
`addSupportedProtocol(String protocol)`
Adds a protocol to the list of supported protocols for this role.
`List<ContactPerson>`
`getContactPersons()`
Gets list of `ContactPerson`s for this role.
`List<Endpoint>`
`getEndpoints()`
Gets immutable list of endpoints for this role.
`List<Endpoint>`
`getEndpoints(QName type)`
Gets a read-only list of endpoints for this role for the given type.
`String`
`getErrorURL()`
Gets the URI users should be sent to in the event of an error.
`Extensions`
`getExtensions()`
Gets the Extensions child of this object.
`String`
`getID()`
Gets the ID of this role descriptor.
`List<KeyDescriptor>`
`getKeyDescriptors()`
Gets the key descriptors for this role.
`Organization`
`getOrganization()`
Gets the organization responsible for this role.
`List<String>`
`getSupportedProtocols()`
Gets an immutable list of protocol URIs supported by this role.
`boolean`
`isSupportedProtocol(String protocol)`
Chckes to see if the given protocol is supported by this role.
`void`
`removeAllSupportedProtocols()`
Removes all the supported protocols from this role.
`void`
`removeSupportedProtocol(String protocol)`
Removes a protocol to the list of supported protocols for this role.
`void`
`removeSupportedProtocols(Collection<String> protocols)`
Removes a list of protocols to the list of supported protocols for this role.
`void`
`setErrorURL(String errorURL)`
Sets the URI users should be sent to in the event of an error.
`void`
`setExtensions(Extensions extensions)`
Sets the Extensions child of this object.
`void`
`setID(String newID)`
Sets the ID of this role descriptor.
`void`
`setOrganization(Organization organization)`
Sets the organization responsible for this role.

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

`getUnknownAttributes`

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

`getCacheDuration, setCacheDuration`

### Methods inherited from interface org.opensaml.saml.common.SignableSAMLObject

`getSignatureReferenceID`

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

`getSignature, isSigned, setSignature`

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

`getValidUntil, isValid, setValidUntil`

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

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

## Field Details

### DEFAULT_ELEMENT_LOCAL_NAME

@Nonnull @NotEmpty static final String DEFAULT_ELEMENT_LOCAL_NAME
Element name, no namespace.

See Also:
  - Constant Field Values

### DEFAULT_ELEMENT_NAME

@Nonnull static final QName DEFAULT_ELEMENT_NAME
Default element name.

### TYPE_LOCAL_NAME

@Nonnull @NotEmpty static final String TYPE_LOCAL_NAME
Local name of the XSI type.

See Also:
  - Constant Field Values

### TYPE_NAME

@Nonnull static final QName TYPE_NAME
QName of the XSI type.

### ID_ATTRIB_NAME

@Nonnull @NotEmpty static final String ID_ATTRIB_NAME
"ID" attribute's local name.

See Also:
  - Constant Field Values

### PROTOCOL_ENUMERATION_ATTRIB_NAME

@Nonnull @NotEmpty static final String PROTOCOL_ENUMERATION_ATTRIB_NAME
"protocolEnumeration" attribute's local name.

See Also:
  - Constant Field Values

### ERROR_URL_ATTRIB_NAME

@Nonnull @NotEmpty static final String ERROR_URL_ATTRIB_NAME
"errorURL" attribute's local name.

See Also:
  - Constant Field Values

## Method Details

### getID

@Nullable String getID()
Gets the ID of this role descriptor.

Returns:
  the ID of this role descriptor

### setID

void setID(@Nullable String newID)
Sets the ID of this role descriptor.

Parameters:
  `newID` - the ID of this role descriptor

### getSupportedProtocols

@Nonnull @NotLive @Unmodifiable List<String> getSupportedProtocols()
Gets an immutable list of protocol URIs supported by this role.

Returns:
  list of protocol URIs supported by this role

### isSupportedProtocol

boolean isSupportedProtocol(@Nonnull @NotEmpty String protocol)
Chckes to see if the given protocol is supported by this role.

Parameters:
  `protocol` - the protocol
Returns:
  true if the protocol is supported, false if not

### addSupportedProtocol

void addSupportedProtocol(@Nonnull @NotEmpty String protocol)
Adds a protocol to the list of supported protocols for this role.

Parameters:
  `protocol` - the protocol

### removeSupportedProtocol

void removeSupportedProtocol(@Nonnull @NotEmpty String protocol)
Removes a protocol to the list of supported protocols for this role.

Parameters:
  `protocol` - the protocol

### removeSupportedProtocols

void removeSupportedProtocols(@Nonnull Collection<String> protocols)
Removes a list of protocols to the list of supported protocols for this role.

Parameters:
  `protocols` - the protocol

### removeAllSupportedProtocols

void removeAllSupportedProtocols()
Removes all the supported protocols from this role.

### getErrorURL

@Nullable String getErrorURL()
Gets the URI users should be sent to in the event of an error.

Returns:
  the URI users should be sent to in the event of an error

### setErrorURL

void setErrorURL(@Nullable String errorURL)
Sets the URI users should be sent to in the event of an error.

Parameters:
  `errorURL` - the URI users should be sent to in the event of an error

### getExtensions

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

Returns:
  the Extensions child of this object

### setExtensions

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

Parameters:
  `extensions` - the Extensions child of this object

### getKeyDescriptors

@Nonnull @Live List<KeyDescriptor> getKeyDescriptors()
Gets the key descriptors for this role.

Returns:
  the key descriptors for this role

### getOrganization

@Nullable Organization getOrganization()
Gets the organization responsible for this role.

Returns:
  the organization responsible for this role

### setOrganization

void setOrganization(@Nullable Organization organization)
Sets the organization responsible for this role.

Parameters:
  `organization` - the organization responsible for this role

### getContactPersons

@Nonnull @Live List<ContactPerson> getContactPersons()
Gets list of `ContactPerson`s for this role.

Returns:
  list of `ContactPerson`s for this role

### getEndpoints

@Nonnull @NotLive @Unmodifiable List<Endpoint> getEndpoints()
Gets immutable list of endpoints for this role.

Returns:
  immutable list of endpoints for this role

### getEndpoints

@Nonnull @NotLive @Unmodifiable List<Endpoint> getEndpoints(@Nonnull QName type)
Gets a read-only list of endpoints for this role for the given type.

Parameters:
  `type` - the type of endpoints to retrieve
Returns:
  immutable list of endpoints for this role