1 /* 2 * Copyright 2006 University Corporation for Advanced Internet Development, Inc. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package org.opensaml.xml.signature; 18 19 import java.util.List; 20 21 import javax.xml.namespace.QName; 22 23 import org.opensaml.xml.XMLObject; 24 import org.opensaml.xml.util.XMLConstants; 25 import org.opensaml.xml.validation.ValidatingXMLObject; 26 27 /** XMLObject representing XML Digital Signature, version 20020212, X509Data element. */ 28 public interface X509Data extends ValidatingXMLObject { 29 30 /** Element local name. */ 31 public static final String DEFAULT_ELEMENT_LOCAL_NAME = "X509Data"; 32 33 /** Default element name. */ 34 public static final QName DEFAULT_ELEMENT_NAME = new QName(XMLConstants.XMLSIG_NS, DEFAULT_ELEMENT_LOCAL_NAME, 35 XMLConstants.XMLSIG_PREFIX); 36 37 /** Local name of the XSI type. */ 38 public static final String TYPE_LOCAL_NAME = "X509DataType"; 39 40 /** QName of the XSI type. */ 41 public static final QName TYPE_NAME = new QName(XMLConstants.XMLSIG_NS, TYPE_LOCAL_NAME, XMLConstants.XMLSIG_PREFIX); 42 43 /** 44 * Get the list of all XMLObject children. 45 * 46 * @return the list of XMLObject children 47 */ 48 public List<XMLObject> getXMLObjects(); 49 50 /** 51 * Get the list of XMLObject children whose type or element QName matches the specified QName. 52 * 53 * @param typeOrName the QName of the desired elements 54 * 55 * @return the matching list of XMLObject children 56 */ 57 public List<XMLObject> getXMLObjects(QName typeOrName); 58 59 /** 60 * Get the list of X509IssuerSerial child elements. 61 * 62 * @return the list of X509IssuerSerial child elements 63 */ 64 public List<X509IssuerSerial> getX509IssuerSerials(); 65 66 /** 67 * Get the list of X509SKI child elements. 68 * 69 * @return the list of X509SKI child elements 70 */ 71 public List<X509SKI> getX509SKIs(); 72 73 /** 74 * Get the list of X509SubjectName child elements. 75 * 76 * @return the list of X509SubjectName child elements 77 */ 78 public List<X509SubjectName> getX509SubjectNames(); 79 80 /** 81 * Get the list of X509Certificate child elements. 82 * 83 * @return the list of X509Certificate child elements 84 */ 85 public List<X509Certificate> getX509Certificates(); 86 87 /** 88 * Get the list of X509CRL child elements. 89 * 90 * @return the list of X509CRL child elements 91 */ 92 public List<X509CRL> getX509CRLs(); 93 94 }