All Downloads are FREE. Search and download functionalities are using the official Maven repository.

javax.xml.crypto.dsig.XMLObject Maven / Gradle / Ivy

/**
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
/*
 * Portions copyright 2005 Sun Microsystems, Inc. All rights reserved.
 */
/*
 * =========================================================================== 
 *
 * (C) Copyright IBM Corp. 2003 All Rights Reserved.
 *
 * ===========================================================================
 */
/*
 * $Id: XMLObject.java 1333869 2012-05-04 10:42:44Z coheigea $
 */
package javax.xml.crypto.dsig;

import java.util.List;
import javax.xml.crypto.XMLStructure;

/**
 * A representation of the XML Object element as defined in
 * the 
 * W3C Recommendation for XML-Signature Syntax and Processing.
 * An XMLObject may contain any data and may include optional 
 * MIME type, ID, and encoding attributes. The XML Schema Definition is 
 * defined as:
 *
 * 

 * <element name="Object" type="ds:ObjectType"/> 
 * <complexType name="ObjectType" mixed="true">
 *   <sequence minOccurs="0" maxOccurs="unbounded">
 *     <any namespace="##any" processContents="lax"/>
 *   </sequence>
 *   <attribute name="Id" type="ID" use="optional"/> 
 *   <attribute name="MimeType" type="string" use="optional"/>
 *   <attribute name="Encoding" type="anyURI" use="optional"/> 
 * </complexType>
 * 
* * A XMLObject instance may be created by invoking the * {@link XMLSignatureFactory#newXMLObject newXMLObject} method of the * {@link XMLSignatureFactory} class; for example: * *
 *   XMLSignatureFactory fac = XMLSignatureFactory.getInstance("DOM");
 *   List content = Collections.singletonList(fac.newManifest(references)));
 *   XMLObject object = factory.newXMLObject(content, "object-1", null, null);
 * 
* *

Note that this class is named XMLObject rather than * Object to avoid naming clashes with the existing * {@link java.lang.Object java.lang.Object} class. * * @author Sean Mullan * @author JSR 105 Expert Group * @author Joyce L. Leung * @see XMLSignatureFactory#newXMLObject(List, String, String, String) */ public interface XMLObject extends XMLStructure { /** * URI that identifies the Object element (this can be * specified as the value of the type parameter of the * {@link Reference} class to identify the referent's type). */ String TYPE = "http://www.w3.org/2000/09/xmldsig#Object"; /** * Returns an {@link java.util.Collections#unmodifiableList unmodifiable * list} of {@link XMLStructure}s contained in this XMLObject, * which represent elements from any namespace. * *

If there is a public subclass representing the type of * XMLStructure, it is returned as an instance of that class * (ex: a SignatureProperties element would be returned * as an instance of {@link javax.xml.crypto.dsig.SignatureProperties}). * * @return an unmodifiable list of XMLStructures (may be empty * but never null) */ List getContent(); /** * Returns the Id of this XMLObject. * * @return the Id (or null if not specified) */ String getId(); /** * Returns the mime type of this XMLObject. The * mime type is an optional attribute which describes the data within this * XMLObject (independent of its encoding). * * @return the mime type (or null if not specified) */ String getMimeType(); /** * Returns the encoding URI of this XMLObject. The encoding * URI identifies the method by which the object is encoded. * * @return the encoding URI (or null if not specified) */ String getEncoding(); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy