/* * Copyright 2003 Federal Chancellery Austria * MOA-SPSS has been developed in a cooperation between BRZ, the Federal * Chancellery Austria - ICT staff unit, and Graz University of Technology. * * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by * the European Commission - subsequent versions of the EUPL (the "Licence"); * You may not use this work except in compliance with the Licence. * You may obtain a copy of the Licence at: * http://www.osor.eu/eupl/ * * Unless required by applicable law or agreed to in writing, software * distributed under the Licence is distributed on an "AS IS" basis, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the Licence for the specific language governing permissions and * limitations under the Licence. * * This product combines work with different licenses. See the "NOTICE" text * file for details on the various modules and licenses. * The "NOTICE" text file is part of the distribution. Any derivative works * that you distribute must include a readable copy of the "NOTICE" text file. */ package at.gv.egovernment.moa.spss.server.iaik.xml; import java.util.Map; import iaik.server.modules.xml.XPathTransformation; /** * A Transformation containing an XPath expression. * * @author Patrick Peck * @version $Id$ */ public class XPathTransformationImpl extends TransformationImpl implements XPathTransformation { /** The XPath expression. */ private String xPathExpression; /** The namespace prefix to URI mapping to use for XPath evaluation. */ private Map namespaceDeclarations; /** * Create a new XPathTransformationImpl. * * The namespace declarations are initialized empty. * * @param xPathExpression The XPath expression this object will contain. * @param namespaceDeclarations The namespace declarations visible for this * XPath. */ public XPathTransformationImpl( String xPathExpression, Map namespaceDeclarations) { setAlgorithmURI(XPathTransformation.XPATH); setXPathExpression(xPathExpression); setNamespaceDeclarations(namespaceDeclarations); } /** * Set the XPath expression. * * @param xPathExpression The XPath expression. */ protected void setXPathExpression(String xPathExpression) { this.xPathExpression = xPathExpression; } /** * @see iaik.server.modules.xml.XPathTransformation#getXPathExpression() */ @Override public String getXPathExpression() { return xPathExpression; } /** * @see iaik.server.modules.xml.XPathTransformation#getNamespaceDeclarations() */ @Override public Map getNamespaceDeclarations() { return namespaceDeclarations; } /** * Set the namespace declarations. * * @param namespaceDeclarations The mapping between namespace prefixes and their * associated URI. */ protected void setNamespaceDeclarations(Map namespaceDeclarations) { this.namespaceDeclarations = namespaceDeclarations; } /** * Compare this XPathTransformation to another. * * @param other The object to compare this XPathTransformation to. * @return true, if other is an * XPathTransformation and if this object contains the same * XPath expression as other. Otherwise false * is returned. * @see java.lang.Object#equals(Object) */ @Override public boolean equals(Object other) { if (other instanceof XPathTransformation) { final XPathTransformation transform = (XPathTransformation) other; return getXPathExpression().equals(transform.getXPathExpression()); } return false; } /** * @see java.lang.Object#hashCode() */ @Override public int hashCode() { return getXPathExpression().hashCode(); } }