View Javadoc

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  /**
28   * XMLObject representing XML Digital Signature, version 20020212, X509Data element.
29   */
30  public interface X509Data extends ValidatingXMLObject {
31      
32      /** Element local name */
33      public final static String DEFAULT_ELEMENT_LOCAL_NAME = "X509Data";
34      
35      /** Default element name */
36      public final static QName DEFAULT_ELEMENT_NAME = new QName(XMLConstants.XMLSIG_NS, DEFAULT_ELEMENT_LOCAL_NAME, XMLConstants.XMLSIG_PREFIX);
37      
38      /** Local name of the XSI type */
39      public final static String TYPE_LOCAL_NAME = "X509DataType"; 
40          
41      /** QName of the XSI type */
42      public final static QName TYPE_NAME = new QName(XMLConstants.XMLSIG_NS, TYPE_LOCAL_NAME, XMLConstants.XMLSIG_PREFIX);
43      
44      /**
45       * Get the list of all XMLObject children
46       * 
47       * @return the list of XMLObject children
48       */
49      public List<XMLObject> getXMLObjects();
50      
51      /**
52       * Get the list of XMLObject children whose type or element
53       * QName matches the specified QName
54       * 
55       * @param typeOrName the QName of the desired elements
56       * 
57       * @return the matching list of XMLObject children
58       */
59      public List<XMLObject> getXMLObjects(QName typeOrName);
60      
61      /**
62       * Get the list of X509IssuerSerial child elements
63       * 
64       * @return the list of X509IssuerSerial child elements
65       */ 
66      public List<X509IssuerSerial> getX509IssuerSerials();
67      
68      /**
69       * Get the list of X509SKI child elements
70       * 
71       * @return the list of X509SKI child elements
72       */ 
73      public List<X509SKI> getX509SKIs();
74      
75      /**
76       * Get the list of X509SubjectName child elements
77       * 
78       * @return the list of X509SubjectName child elements
79       */ 
80      public List<X509SubjectName> getX509SubjectNames();
81      
82      /**
83       * Get the list of X509Certificate child elements
84       * 
85       * @return the list of X509Certificate child elements
86       */ 
87      public List<X509Certificate> getX509Certificates();
88      
89      /**
90       * Get the list of X509CRL child elements
91       * 
92       * @return the list of X509CRL child elements
93       */ 
94      public List<X509CRL> getX509CRLs();
95  
96  }