src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionProperties.java
branchhttp-client-branch
changeset 56783 7add69e2fb68
parent 56781 4a32a40ce131
parent 50643 f2d94a0619a2
child 56785 62937a37a291
equal deleted inserted replaced
56781:4a32a40ce131 56783:7add69e2fb68
     1 /*
       
     2  * reserved comment block
       
     3  * DO NOT REMOVE OR ALTER!
       
     4  */
       
     5 /**
       
     6  * Licensed to the Apache Software Foundation (ASF) under one
       
     7  * or more contributor license agreements. See the NOTICE file
       
     8  * distributed with this work for additional information
       
     9  * regarding copyright ownership. The ASF licenses this file
       
    10  * to you under the Apache License, Version 2.0 (the
       
    11  * "License"); you may not use this file except in compliance
       
    12  * with the License. You may obtain a copy of the License at
       
    13  *
       
    14  * http://www.apache.org/licenses/LICENSE-2.0
       
    15  *
       
    16  * Unless required by applicable law or agreed to in writing,
       
    17  * software distributed under the License is distributed on an
       
    18  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
       
    19  * KIND, either express or implied. See the License for the
       
    20  * specific language governing permissions and limitations
       
    21  * under the License.
       
    22  */
       
    23 package com.sun.org.apache.xml.internal.security.encryption;
       
    24 
       
    25 import java.util.Iterator;
       
    26 
       
    27 /**
       
    28  * {@code EncryptionProperties} can hold additional information concerning
       
    29  * the generation of the {@code EncryptedData} or
       
    30  * {@code EncryptedKey}. This information is wraped int an
       
    31  * {@code EncryptionProperty} element. Examples of additional information
       
    32  * is e.g., a date/time stamp or the serial number of cryptographic hardware
       
    33  * used during encryption).
       
    34  * <p>
       
    35  * It is defined as follows:
       
    36  * <pre>{@code
       
    37  * <element name='EncryptionProperties' type='xenc:EncryptionPropertiesType'/>
       
    38  * <complexType name='EncryptionPropertiesType'>
       
    39  *     <sequence>
       
    40  *         <element ref='xenc:EncryptionProperty' maxOccurs='unbounded'/>
       
    41  *     </sequence>
       
    42  *     <attribute name='Id' type='ID' use='optional'/>
       
    43  * </complexType>
       
    44  * }</pre>
       
    45  *
       
    46  * @author Axl Mattheus
       
    47  */
       
    48 public interface EncryptionProperties {
       
    49 
       
    50     /**
       
    51      * Returns the {@code EncryptionProperties}' id.
       
    52      *
       
    53      * @return the id.
       
    54      */
       
    55     String getId();
       
    56 
       
    57     /**
       
    58      * Sets the id.
       
    59      *
       
    60      * @param id the id.
       
    61      */
       
    62     void setId(String id);
       
    63 
       
    64     /**
       
    65      * Returns an {@code Iterator} over all the
       
    66      * {@code EncryptionPropterty} elements contained in this
       
    67      * {@code EncryptionProperties}.
       
    68      *
       
    69      * @return an {@code Iterator} over all the encryption properties.
       
    70      */
       
    71     Iterator<EncryptionProperty> getEncryptionProperties();
       
    72 
       
    73     /**
       
    74      * Adds an {@code EncryptionProperty}.
       
    75      *
       
    76      * @param property
       
    77      */
       
    78     void addEncryptionProperty(EncryptionProperty property);
       
    79 
       
    80     /**
       
    81      * Removes the specified {@code EncryptionProperty}.
       
    82      *
       
    83      * @param property
       
    84      */
       
    85     void removeEncryptionProperty(EncryptionProperty property);
       
    86 }
       
    87