com.sun.xml.ws.api.pipe.ContentType Maven / Gradle / Ivy
/*
* The contents of this file are subject to the terms
* of the Common Development and Distribution License
* (the License). You may not use this file except in
* compliance with the License.
*
* You can obtain a copy of the license at
* https://glassfish.dev.java.net/public/CDDLv1.0.html.
* See the License for the specific language governing
* permissions and limitations under the License.
*
* When distributing Covered Code, include this CDDL
* Header Notice in each file and include the License file
* at https://glassfish.dev.java.net/public/CDDLv1.0.html.
* If applicable, add the following below the CDDL Header,
* with the fields enclosed by brackets [] replaced by
* you own identifying information:
* "Portions Copyrighted [year] [name of copyright owner]"
*
* Copyright 2006 Sun Microsystems Inc. All Rights Reserved
*/
package com.sun.xml.ws.api.pipe;
/**
* A Content-Type transport header that will be returned by {@link Codec#encode(com.sun.xml.ws.api.message.Packet, java.io.OutputStream)}.
* It will provide the Content-Type header and also take care of SOAP 1.1 SOAPAction header.
*
* TODO: rename to ContentMetadata?
*
* @author Vivek Pandey
*/
public interface ContentType {
/**
* Gives non-null Content-Type header value.
*/
public String getContentType();
/**
* Gives SOAPAction transport header value. It will be non-null only for SOAP 1.1 messages. In other cases
* it MUST be null. The SOAPAction transport header should be written out only when its non-null.
*
* @return It can be null, in that case SOAPAction header should be written.
*/
public String getSOAPActionHeader();
/**
* Controls the Accept transport header, if the transport supports it.
* Returning null means the transport need not add any new header.
*
*
* We realize that this is not an elegant abstraction, but
* this would do for now. If another person comes and asks for
* a similar functionality, we'll define a real abstraction.
*/
public String getAcceptHeader();
}