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 }