Class RoleDescriptorImpl

All Implemented Interfaces:
AttributeExtensibleXMLObject, XMLObject, SAMLObject, SignableSAMLObject, CacheableSAMLObject, TimeBoundSAMLObject, RoleDescriptor, SignableXMLObject
Direct Known Subclasses:
AttributeAuthorityDescriptorImpl, AuthnAuthorityDescriptorImpl, PDPDescriptorImpl, QueryDescriptorTypeImpl, SSODescriptorImpl

public abstract class RoleDescriptorImpl extends AbstractSignableSAMLObject implements RoleDescriptor
Concrete implementation of RoleDescriptor.
  • Field Details

    • id

      @Nullable private String id
      ID attribute.
    • validUntil

      @Nullable private Instant validUntil
      validUntil attribute.
    • cacheDuration

      @Nullable private Duration cacheDuration
      cacheDurection attribute.
    • supportedProtocols

      @Nonnull private final List<String> supportedProtocols
      Set of supported protocols.
    • errorURL

      @Nullable private String errorURL
      Error URL.
    • extensions

      @Nullable private Extensions extensions
      Extensions child.
    • organization

      @Nullable private Organization organization
      Organization administering this role.
    • unknownAttributes

      @Nonnull private final AttributeMap unknownAttributes
      "anyAttribute" attributes.
    • contactPersons

      @Nonnull private final XMLObjectChildrenList<ContactPerson> contactPersons
      Contact persons for this role.
    • keyDescriptors

      @Nonnull private final XMLObjectChildrenList<KeyDescriptor> keyDescriptors
      Key descriptors for this role.
  • Constructor Details

    • RoleDescriptorImpl

      protected RoleDescriptorImpl(@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

    • getID

      @Nullable public String getID()
      Gets the ID of this role descriptor.
      Specified by:
      getID in interface RoleDescriptor
      Returns:
      the ID of this role descriptor
    • setID

      public void setID(@Nullable String newID)
      Sets the ID of this role descriptor.
      Specified by:
      setID in interface RoleDescriptor
      Parameters:
      newID - the ID of this role 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 dt)
      Sets the date until which this descriptor is valid.
      Specified by:
      setValidUntil in interface TimeBoundSAMLObject
      Parameters:
      dt - 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
    • getSupportedProtocols

      @Nonnull @NotLive @Unmodifiable public List<String> getSupportedProtocols()
      Gets an immutable list of protocol URIs supported by this role.
      Specified by:
      getSupportedProtocols in interface RoleDescriptor
      Returns:
      list of protocol URIs supported by this role
    • isSupportedProtocol

      public boolean isSupportedProtocol(@Nonnull @NotEmpty String protocol)
      Chckes to see if the given protocol is supported by this role.
      Specified by:
      isSupportedProtocol in interface RoleDescriptor
      Parameters:
      protocol - the protocol
      Returns:
      true if the protocol is supported, false if not
    • addSupportedProtocol

      public void addSupportedProtocol(@Nonnull @NotEmpty String protocol)
      Adds a protocol to the list of supported protocols for this role.
      Specified by:
      addSupportedProtocol in interface RoleDescriptor
      Parameters:
      protocol - the protocol
    • removeSupportedProtocol

      public void removeSupportedProtocol(@Nonnull @NotEmpty String protocol)
      Removes a protocol to the list of supported protocols for this role.
      Specified by:
      removeSupportedProtocol in interface RoleDescriptor
      Parameters:
      protocol - the protocol
    • removeSupportedProtocols

      public void removeSupportedProtocols(@Nonnull Collection<String> protocols)
      Removes a list of protocols to the list of supported protocols for this role.
      Specified by:
      removeSupportedProtocols in interface RoleDescriptor
      Parameters:
      protocols - the protocol
    • removeAllSupportedProtocols

      public void removeAllSupportedProtocols()
      Removes all the supported protocols from this role.
      Specified by:
      removeAllSupportedProtocols in interface RoleDescriptor
    • getErrorURL

      @Nullable public String getErrorURL()
      Gets the URI users should be sent to in the event of an error.
      Specified by:
      getErrorURL in interface RoleDescriptor
      Returns:
      the URI users should be sent to in the event of an error
    • setErrorURL

      public void setErrorURL(@Nullable String url)
      Sets the URI users should be sent to in the event of an error.
      Specified by:
      setErrorURL in interface RoleDescriptor
      Parameters:
      url - the URI users should be sent to in the event of an error
    • getExtensions

      @Nullable public Extensions getExtensions()
      Gets the Extensions child of this object.
      Specified by:
      getExtensions in interface RoleDescriptor
      Returns:
      the Extensions child of this object
    • setExtensions

      public void setExtensions(@Nullable Extensions ext)
      Sets the Extensions child of this object.
      Specified by:
      setExtensions in interface RoleDescriptor
      Parameters:
      ext - the Extensions child of this object
    • getOrganization

      @Nullable public Organization getOrganization()
      Gets the organization responsible for this role.
      Specified by:
      getOrganization in interface RoleDescriptor
      Returns:
      the organization responsible for this role
    • setOrganization

      public void setOrganization(@Nullable Organization org)
      Sets the organization responsible for this role.
      Specified by:
      setOrganization in interface RoleDescriptor
      Parameters:
      org - the organization responsible for this role
    • getContactPersons

      @Nonnull @Live public List<ContactPerson> getContactPersons()
      Gets list of ContactPersons for this role.
      Specified by:
      getContactPersons in interface RoleDescriptor
      Returns:
      list of ContactPersons for this role
    • getKeyDescriptors

      @Nonnull @Live public List<KeyDescriptor> getKeyDescriptors()
      Gets the key descriptors for this role.
      Specified by:
      getKeyDescriptors in interface RoleDescriptor
      Returns:
      the key descriptors for this role
    • 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