/* * 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.List; import iaik.server.modules.xml.ExclusiveCanonicalization; /** * An implementation of the ExclusiveCanonicalization type of * Transformation. * * @author Patrick Peck * @version $Id$ */ public class ExclusiveCanonicalizationImpl extends TransformationImpl implements ExclusiveCanonicalization { /** The prefixes of the namespaces to treat according to canonical XML. */ private List inclusiveNamespacePrefixes; /** * Create a new ExclusiveCanonicalizationImpl object. * * @param algorithmURI The exclusive canonicalization algorithm * URI. * @param inclusiveNamespacePrefixes The namespace prefixes to be processed * according to canonical XML. */ public ExclusiveCanonicalizationImpl( String algorithmURI, List inclusiveNamespacePrefixes) { setAlgorithmURI(algorithmURI); setInclusiveNamespacePrefixes(inclusiveNamespacePrefixes); } /** * Sets the namespace prefixes to be processed according to canonical XML. * * @param inclusiveNamespacePrefixes The prefixes of the namespaces to treat * according to canonical XML. */ protected void setInclusiveNamespacePrefixes(List inclusiveNamespacePrefixes) { this.inclusiveNamespacePrefixes = inclusiveNamespacePrefixes; } /** * @see iaik.server.modules.xml.ExclusiveCanonicalization#getInclusiveNamespacePrefixes() */ @Override public List getInclusiveNamespacePrefixes() { return inclusiveNamespacePrefixes; } /** * Compare this object to another CanonicalizationTransform. * * @param other The object to compare this * ExclusiveCanonicalization to. * @return true, if other is a * ExclusiveCanonicalization and the algorithm URIs match, * otherwise false. * @see java.lang.Object#equals(Object) */ @Override public boolean equals(Object other) { if (other instanceof ExclusiveCanonicalization) { final ExclusiveCanonicalization eC14n = (ExclusiveCanonicalization) other; final boolean algURIEquals = getAlgorithmURI().equals(eC14n.getAlgorithmURI()); final boolean inclNSPrefs = getInclusiveNamespacePrefixes() == null || getInclusiveNamespacePrefixes().isEmpty() ? eC14n.getInclusiveNamespacePrefixes() == null || eC14n.getInclusiveNamespacePrefixes() .isEmpty() : getInclusiveNamespacePrefixes().equals(eC14n.getInclusiveNamespacePrefixes()); return algURIEquals && inclNSPrefs; } return false; } }