FileDocCategorySizeDatePackage
XPathType.javaAPI DocJava SE 6 API5701Tue Jun 10 00:27:06 BST 2008javax.xml.crypto.dsig.spec

XPathType

public class XPathType extends Object
The XML Schema Definition of the XPath element as defined in the W3C Recommendation for XML-Signature XPath Filter 2.0:

<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:xf="http://www.w3.org/2002/06/xmldsig-filter2"
targetNamespace="http://www.w3.org/2002/06/xmldsig-filter2"
version="0.1" elementFormDefault="qualified">

<element name="XPath"
type="xf:XPathType"/>

<complexType name="XPathType">
<simpleContent>
<extension base="string">
<attribute name="Filter">
<simpleType>
<restriction base="string">
<enumeration value="intersect"/>
<enumeration value="subtract"/>
<enumeration value="union"/>
</restriction>
</simpleType>
</attribute>
</extension>
</simpleContent>
</complexType>
author
Sean Mullan
author
JSR 105 Expert Group
since
1.6
see
XPathFilter2ParameterSpec

Fields Summary
private final String
expression
private final Filter
filter
private Map
nsMap
Constructors Summary
public XPathType(String expression, Filter filter)
Creates an XPathType instance with the specified XPath expression and filter.

param
expression the XPath expression to be evaluated
param
filter the filter operation ({@link Filter#INTERSECT}, {@link Filter#SUBTRACT}, or {@link Filter#UNION})
throws
NullPointerException if expression or filter is null


                                                      
         
        if (expression == null) {
            throw new NullPointerException("expression cannot be null");
        }
        if (filter == null) {
            throw new NullPointerException("filter cannot be null");
        }
        this.expression = expression;
        this.filter = filter;
        this.nsMap = Collections.EMPTY_MAP;
    
public XPathType(String expression, Filter filter, Map namespaceMap)
Creates an XPathType instance with the specified XPath expression, filter, and namespace map. The map is copied to protect against subsequent modification.

param
expression the XPath expression to be evaluated
param
filter the filter operation ({@link Filter#INTERSECT}, {@link Filter#SUBTRACT}, or {@link Filter#UNION})
param
namespaceMap the map of namespace prefixes. Each key is a namespace prefix String that maps to a corresponding namespace URI String.
throws
NullPointerException if expression, filter or namespaceMap are null
throws
ClassCastException if any of the map's keys or entries are not of type String

        this(expression, filter);
        if (namespaceMap == null) {
            throw new NullPointerException("namespaceMap cannot be null");
        }
        nsMap = new HashMap(namespaceMap);
        Iterator entries = nsMap.entrySet().iterator();
        while (entries.hasNext()) {
            Map.Entry me = (Map.Entry) entries.next();
            if (!(me.getKey() instanceof String) ||
                !(me.getValue() instanceof String)) {
                throw new ClassCastException("not a String");
            }
        }
        nsMap = Collections.unmodifiableMap(nsMap);
    
Methods Summary
public java.lang.StringgetExpression()
Returns the XPath expression to be evaluated.

return
the XPath expression to be evaluated

        return expression;
    
public javax.xml.crypto.dsig.spec.XPathType$FiltergetFilter()
Returns the filter operation.

return
the filter operation

        return filter;
    
public java.util.MapgetNamespaceMap()
Returns a map of namespace prefixes. Each key is a namespace prefix String that maps to a corresponding namespace URI String.

This implementation returns an {@link Collections#unmodifiableMap unmodifiable map}.

return
a Map of namespace prefixes to namespace URIs (may be empty, but never null)

        return nsMap;