1 /* 2 * reserved comment block 3 * DO NOT REMOVE OR ALTER! 4 */ 5 /* 6 * Copyright 1999-2004 The Apache Software Foundation. 7 * 8 * Licensed under the Apache License, Version 2.0 (the "License"); 9 * you may not use this file except in compliance with the License. 10 * You may obtain a copy of the License at 11 * 12 * http://www.apache.org/licenses/LICENSE-2.0 13 * 14 * Unless required by applicable law or agreed to in writing, software 15 * distributed under the License is distributed on an "AS IS" BASIS, 16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 * See the License for the specific language governing permissions and 18 * limitations under the License. 19 * 20 */ 21 package com.sun.org.apache.xml.internal.security.algorithms; 22 23 24 25 import com.sun.org.apache.xml.internal.security.exceptions.XMLSecurityException; 26 import com.sun.org.apache.xml.internal.security.utils.Constants; 27 import com.sun.org.apache.xml.internal.security.utils.SignatureElementProxy; 28 import org.w3c.dom.Document; 29 import org.w3c.dom.Element; 30 31 32 /** 33 * The Algorithm class which stores the Algorithm URI as a string. 34 * 35 */ 36 public abstract class Algorithm extends SignatureElementProxy { 37 38 /** 39 * 40 * @param doc 41 * @param algorithmURI is the URI of the algorithm as String 42 */ 43 public Algorithm(Document doc, String algorithmURI) { 44 45 super(doc); 46 47 this.setAlgorithmURI(algorithmURI); 48 } 49 50 /** 51 * Constructor Algorithm 52 * 53 * @param element 54 * @param BaseURI 55 * @throws XMLSecurityException 56 */ 57 public Algorithm(Element element, String BaseURI) 58 throws XMLSecurityException { 59 super(element, BaseURI); 60 } 61 62 /** 63 * Method getAlgorithmURI 64 * 65 * @return The URI of the alogrithm 66 */ 67 public String getAlgorithmURI() { 68 return this._constructionElement.getAttributeNS(null, Constants._ATT_ALGORITHM); 69 } 70 71 /** 72 * Sets the algorithm's URI as used in the signature. 73 * 74 * @param algorithmURI is the URI of the algorithm as String 75 */ 76 protected void setAlgorithmURI(String algorithmURI) { 77 78 if ( (algorithmURI != null)) { 79 this._constructionElement.setAttributeNS(null, Constants._ATT_ALGORITHM, 80 algorithmURI); 81 } 82 } 83 }