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() */ 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) */ public boolean equals(Object other) { if (other instanceof ExclusiveCanonicalization) { ExclusiveCanonicalization eC14n = (ExclusiveCanonicalization) other; boolean algURIEquals = getAlgorithmURI().equals(eC14n.getAlgorithmURI()); boolean inclNSPrefs = (getInclusiveNamespacePrefixes() == null || getInclusiveNamespacePrefixes().isEmpty()) ? eC14n.getInclusiveNamespacePrefixes() == null || eC14n.getInclusiveNamespacePrefixes().isEmpty() : getInclusiveNamespacePrefixes().equals(eC14n.getInclusiveNamespacePrefixes()); return algURIEquals && inclNSPrefs; } return false; } }