- java.lang.Object
-
- javax.xml.crypto.dom.DOMCryptoContext
-
- All Implemented Interfaces:
XMLCryptoContext
- Direct Known Subclasses:
DOMSignContext,DOMValidateContext
public class DOMCryptoContext extends Object implements XMLCryptoContext
This class provides a DOM-specific implementation of theXMLCryptoContextinterface. It also includes additional methods that are specific to a DOM-based implementation for registering and retrieving elements that contain attributes of type ID.- Since:
- 1.6
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedDOMCryptoContext()Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Objectget(Object key)This implementation uses an internalHashMapto get the object that the specified key maps to.ElementgetElementById(String idValue)Returns theElementwith the specified ID attribute value.StringgetNamespacePrefix(String namespaceURI, String defaultPrefix)This implementation uses an internalHashMapto get the prefix that the specified URI maps to.ObjectgetProperty(String name)This implementation uses an internalHashMapto get the object that the specified name maps to.Iterator<Map.Entry<String,Element>>iterator()Returns a read-only iterator over the set of Id/Element mappings of thisDOMCryptoContext.Objectput(Object key, Object value)This implementation uses an internalHashMapto map the key to the specified object.StringputNamespacePrefix(String namespaceURI, String prefix)This implementation uses an internalHashMapto map the URI to the specified prefix.voidsetBaseURI(String baseURI)Sets the base URI.voidsetIdAttributeNS(Element element, String namespaceURI, String localName)Registers the element's attribute specified by the namespace URI and local name to be of type ID.ObjectsetProperty(String name, Object value)This implementation uses an internalHashMapto map the name to the specified object.-
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods declared in interface javax.xml.crypto.XMLCryptoContext
getBaseURI, getDefaultNamespacePrefix, getKeySelector, getURIDereferencer, setDefaultNamespacePrefix, setKeySelector, setURIDereferencer
-
-
-
-
Method Detail
-
getNamespacePrefix
public String getNamespacePrefix(String namespaceURI, String defaultPrefix)
This implementation uses an internalHashMapto get the prefix that the specified URI maps to. It returns thedefaultPrefixif it maps tonull.- Specified by:
getNamespacePrefixin interfaceXMLCryptoContext- Parameters:
namespaceURI- a namespace URIdefaultPrefix- the prefix to be returned in the event that the the specified namespace URI has not been bound to a prefix.- Returns:
- the prefix that is associated with the specified namespace URI,
or
defaultPrefixif the URI is not registered. If the namespace URI is registered but has no prefix, an empty string ("") is returned. - Throws:
NullPointerException- ifnamespaceURIisnull- See Also:
XMLCryptoContext.putNamespacePrefix(String, String)
-
putNamespacePrefix
public String putNamespacePrefix(String namespaceURI, String prefix)
This implementation uses an internalHashMapto map the URI to the specified prefix.- Specified by:
putNamespacePrefixin interfaceXMLCryptoContext- Parameters:
namespaceURI- a namespace URIprefix- a namespace prefix (ornullto remove any existing mapping). Specifying the empty string ("") binds no prefix to the namespace URI.- Returns:
- the previous prefix associated with the specified namespace
URI, or
nullif there was none - Throws:
NullPointerException- ifnamespaceURIisnull- See Also:
XMLCryptoContext.getNamespacePrefix(String, String)
-
setBaseURI
public void setBaseURI(String baseURI)
Description copied from interface:XMLCryptoContextSets the base URI.- Specified by:
setBaseURIin interfaceXMLCryptoContext- Parameters:
baseURI- the base URI, ornullto remove current value- Throws:
IllegalArgumentException- ifbaseURIis not RFC 2396 compliant- See Also:
XMLCryptoContext.getBaseURI()
-
getProperty
public Object getProperty(String name)
This implementation uses an internalHashMapto get the object that the specified name maps to.- Specified by:
getPropertyin interfaceXMLCryptoContext- Parameters:
name- the name of the property- Returns:
- the current value of the specified property, or
nullif it does not have a value - Throws:
NullPointerException- ifnameisnull- See Also:
XMLCryptoContext.setProperty(String, Object)
-
setProperty
public Object setProperty(String name, Object value)
This implementation uses an internalHashMapto map the name to the specified object.- Specified by:
setPropertyin interfaceXMLCryptoContext- Parameters:
name- the name of the propertyvalue- the value of the property to be set- Returns:
- the previous value of the specified property, or
nullif it did not have a value - Throws:
NullPointerException- ifnameisnull- See Also:
XMLCryptoContext.getProperty(String)
-
getElementById
public Element getElementById(String idValue)
Returns theElementwith the specified ID attribute value.This implementation uses an internal
HashMapto get the element that the specified attribute value maps to.- Parameters:
idValue- the value of the ID- Returns:
- the
Elementwith the specified ID attribute value, ornullif none. - Throws:
NullPointerException- ifidValueisnull- See Also:
setIdAttributeNS(org.w3c.dom.Element, java.lang.String, java.lang.String)
-
setIdAttributeNS
public void setIdAttributeNS(Element element, String namespaceURI, String localName)
Registers the element's attribute specified by the namespace URI and local name to be of type ID. The attribute must have a non-empty value.This implementation uses an internal
HashMapto map the attribute's value to the specified element.- Parameters:
element- the elementnamespaceURI- the namespace URI of the attribute (specifynullif not applicable)localName- the local name of the attribute- Throws:
IllegalArgumentException- iflocalNameis not an attribute of the specified element or it does not contain a specific valueNullPointerException- ifelementorlocalNameisnull- See Also:
getElementById(java.lang.String)
-
iterator
public Iterator<Map.Entry<String,Element>> iterator()
Returns a read-only iterator over the set of Id/Element mappings of thisDOMCryptoContext. Attempts to modify the set via theIterator.remove()method throw anUnsupportedOperationException. The mappings are returned in no particular order. Each element in the iteration is represented as aMap.Entry. If theDOMCryptoContextis modified while an iteration is in progress, the results of the iteration are undefined.- Returns:
- a read-only iterator over the set of mappings
-
get
public Object get(Object key)
This implementation uses an internalHashMapto get the object that the specified key maps to.- Specified by:
getin interfaceXMLCryptoContext- Parameters:
key- the key whose associated value is to be returned- Returns:
- the value to which this context maps the specified key, or
nullif there is no mapping for the key - See Also:
XMLCryptoContext.put(Object, Object)
-
put
public Object put(Object key, Object value)
This implementation uses an internalHashMapto map the key to the specified object.- Specified by:
putin interfaceXMLCryptoContext- Parameters:
key- key with which the specified value is to be associated withvalue- value to be associated with the specified key- Returns:
- the previous value associated with the key, or
nullif there was no mapping for the key - Throws:
IllegalArgumentException- if some aspect of this key or value prevents it from being stored in this context- See Also:
XMLCryptoContext.get(Object)
-
-