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.encryption; 18 19 import javax.xml.namespace.QName; 20 21 import org.opensaml.xml.signature.KeyInfo; 22 import org.opensaml.xml.util.XMLConstants; 23 import org.opensaml.xml.validation.ValidatingXMLObject; 24 25 /** 26 * XMLObject representing XML Encryption, version 20021210, EncryptedType type. This is the base type for 27 * {@link EncryptedData} and {@link EncryptedKey} types. 28 */ 29 public interface EncryptedType extends ValidatingXMLObject { 30 31 /** Local name of the XSI type. */ 32 public static final String TYPE_LOCAL_NAME = "EncryptedType"; 33 34 /** QName of the XSI type. */ 35 public static final QName TYPE_NAME = new QName(XMLConstants.XMLENC_NS, TYPE_LOCAL_NAME, 36 XMLConstants.XMLENC_PREFIX); 37 38 /** Id attribute name. */ 39 public static final String ID_ATTRIB_NAME = "Id"; 40 41 /** Type attribute name. */ 42 public static final String TYPE_ATTRIB_NAME = "Type"; 43 44 /** MimeType attribute name. */ 45 public static final String MIMETYPE_ATTRIB_NAME = "MimeType"; 46 47 /** Encoding attribute name. */ 48 public static final String ENCODING_ATTRIB_NAME = "Encoding"; 49 50 /** 51 * Gets the unique ID for the XML element. 52 * 53 * @return the unique ID for the XML element 54 */ 55 public String getID(); 56 57 /** 58 * Sets the unique ID for the XML element. 59 * 60 * @param newID the unique ID for the XML element 61 */ 62 public void setID(String newID); 63 64 /** 65 * Gets the type information for the plaintext content. 66 * 67 * @return the type information for the plaintext content 68 */ 69 public String getType(); 70 71 /** 72 * Sets the type information for the plaintext content. 73 * 74 * @param newType the type information for the plaintext content 75 */ 76 public void setType(String newType); 77 78 /** 79 * Gets the MIME type of the plaintext content. 80 * 81 * @return the MIME type of the plaintext content 82 */ 83 public String getMimeType(); 84 85 /** 86 * Sets the MIME type of the plaintext content. 87 * 88 * @param newMimeType the MIME type of the plaintext content 89 */ 90 public void setMimeType(String newMimeType); 91 92 /** 93 * Gets the encoding applied to the plaintext content prior to encryption. 94 * 95 * @return the encoding applied to the plaintext content prior to encryption 96 */ 97 public String getEncoding(); 98 99 /** 100 * Sets the encoding applied to the plaintext content prior to encryption. 101 * 102 * @param newEncoding the encoding applied to the plaintext content prior to encryption 103 */ 104 public void setEncoding(String newEncoding); 105 106 /** 107 * Gets the EncryptionMethod child element. 108 * 109 * @return the EncryptionMethod child element 110 */ 111 public EncryptionMethod getEncryptionMethod(); 112 113 /** 114 * Sets the EncryptionMethod child element. 115 * 116 * @param newEncryptionMethod the new EncryptionMethod child element 117 */ 118 public void setEncryptionMethod(EncryptionMethod newEncryptionMethod); 119 120 /** 121 * Gets the KeyInfo child element. 122 * 123 * @return the KeyInfo child element 124 */ 125 public KeyInfo getKeyInfo(); 126 127 /** 128 * Sets the KeyInfo child element. 129 * 130 * @param newKeyInfo the new KeyInfo child element 131 */ 132 public void setKeyInfo(KeyInfo newKeyInfo); 133 134 /** 135 * Gets the CipherData child element. 136 * 137 * @return the CipherData child element 138 */ 139 public CipherData getCipherData(); 140 141 /** 142 * Sets the CipherData child element. 143 * 144 * @param newCipherData the new CipherData child element 145 */ 146 public void setCipherData(CipherData newCipherData); 147 148 /** 149 * Gets the EncryptionProperties child element. 150 * 151 * @return the EncryptionProperties child element 152 */ 153 public EncryptionProperties getEncryptionProperties(); 154 155 /** 156 * Sets the EncryptionProperties child element. 157 * 158 * @param newEncryptionProperties the new EncryptionProperties child element 159 */ 160 public void setEncryptionProperties(EncryptionProperties newEncryptionProperties); 161 162 }