| /* |
| * Copyright 2001-2004 The Apache Software Foundation. |
| * |
| * Licensed 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. |
| */ |
| |
| package org.apache.axis; |
| |
| |
| /** |
| * A part of a MIME message. Typically, in a MIME message there will be one |
| * <code>SOAPPart</code> containing the SOAP message, and 0 or more |
| * <code>AttachmentParts</code> instances containing each of the attachments. |
| */ |
| public interface Part extends java.io.Serializable |
| { |
| /** |
| * Gets all the values of the <CODE>MimeHeader</CODE> object |
| * in this <CODE>SOAPPart</CODE> object that is identified by |
| * the given <CODE>String</CODE>. |
| * @param name the name of the header; example: |
| * "Content-Type" |
| * @return a <CODE>String</CODE> array giving all the values for |
| * the specified header |
| */ |
| public String[] getMimeHeader(String name); |
| |
| // fixme: no explicit method to get the value associated with a header e.g. |
| // String getMimeHeader(header) |
| /** |
| * Add the specified MIME header, as per JAXM. |
| * |
| * @param header the MIME header name |
| * @param value the value associated with the header |
| */ |
| public void addMimeHeader (String header, String value); |
| |
| // fixme: what do we mean by location? Is this a URL, a locator in a stream, |
| // a place in the xml? something else? |
| /** |
| * Get the content location. |
| * |
| * @return a <code>String</code> giving the location |
| */ |
| public String getContentLocation(); |
| |
| /** |
| * Set content location. |
| * |
| * @param loc the new location |
| */ |
| public void setContentLocation(String loc); |
| |
| // fixme: confusing docs - what's going on here? |
| /** |
| * Sets Content-Id of this part. |
| * already defined. |
| * @param newCid new Content-Id |
| */ |
| public void setContentId(String newCid); |
| |
| /** |
| * Get the content ID. |
| * |
| * @return the content ID |
| */ |
| public String getContentId(); |
| |
| // for these 2 methods... |
| // fixme: is this an iterator over mime header names or values? |
| // fixme: why this API rather than just exposing the header names, and |
| // a method to fetch the value for a name? |
| /** |
| * Get an <code>Iterator</code> over all headers that match any item in |
| * <code>match</code>. |
| */ |
| public java.util.Iterator getMatchingMimeHeaders( final String[] match); |
| |
| /** |
| * Get all headers that do not match. |
| */ |
| public java.util.Iterator getNonMatchingMimeHeaders( final String[] match); |
| |
| // fixke: are content types MIME types or something else, or what? |
| /** |
| * Get the content type. |
| * |
| * @return the content type <code>String</code> |
| */ |
| public String getContentType(); |
| |
| /** |
| * Content ID. |
| * |
| * @return the contentId reference value that should be used directly |
| * as an href in a SOAP element to reference this attachment. |
| * <B>Not part of JAX-RPC, JAX-M, SAAJ, etc. </B> |
| */ |
| public String getContentIdRef(); |
| } |
| |