View Javadoc

    1   /*
    2    * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//httpclient/src/java/org/apache/commons/httpclient/methods/ByteArrayRequestEntity.java,v 1.3 2004/05/13 02:26:08 mbecke Exp $
    3    * $Revision: 480424 $
    4    * $Date: 2006-11-29 06:56:49 +0100 (Wed, 29 Nov 2006) $
    5    *
    6    * ====================================================================
    7    *
    8    *  Licensed to the Apache Software Foundation (ASF) under one or more
    9    *  contributor license agreements.  See the NOTICE file distributed with
    10   *  this work for additional information regarding copyright ownership.
    11   *  The ASF licenses this file to You under the Apache License, Version 2.0
    12   *  (the "License"); you may not use this file except in compliance with
    13   *  the License.  You may obtain a copy of the License at
    14   *
    15   *      http://www.apache.org/licenses/LICENSE-2.0
    16   *
    17   *  Unless required by applicable law or agreed to in writing, software
    18   *  distributed under the License is distributed on an "AS IS" BASIS,
    19   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    20   *  See the License for the specific language governing permissions and
    21   *  limitations under the License.
    22   * ====================================================================
    23   *
    24   * This software consists of voluntary contributions made by many
    25   * individuals on behalf of the Apache Software Foundation.  For more
    26   * information on the Apache Software Foundation, please see
    27   * <http://www.apache.org/>.
    28   *
    29   * [Additional notices, if required by prior licensing conditions]
    30   *
    31   */
    32  package org.apache.commons.httpclient.methods;
    33
    34  import java.io.IOException;
    35  import java.io.OutputStream;
    36
    37  /**
    38   * A RequestEntity that contains an array of bytes.
    39   *
    40   * @since 3.0
    41   */
    42  public class ByteArrayRequestEntity implements RequestEntity {
    43
    44      /** The content */
    45      private byte[] content;
    46
    47      /** The content type */
    48      private String contentType;
    49
    50      /**
    51       * Creates a new entity with the given content.
    52       * @param content The content to set.
    53       */
    54      public ByteArrayRequestEntity(byte[] content) {
    55          this(content, null);
    56      }
    57
    58      /**
    59       * Creates a new entity with the given content and content type.
    60       * @param content The content to set.
    61       * @param contentType The content type to set or <code>null</code>.
    62       */
    63      public ByteArrayRequestEntity(byte[] content, String contentType) {
    64          super();
    65          if (content == null) {
    66              throw new IllegalArgumentException("The content cannot be null");
    67          }
    68          this.content = content;
    69          this.contentType = contentType;
    70      }
    71
    72      /**
    73       * @return <code>true</code>
    74       */
    75      public boolean isRepeatable() {
    76          return true;
    77      }
    78
    79      /* (non-Javadoc)
    80       * @see org.apache.commons.httpclient.methods.RequestEntity#getContentType()
    81       */
    82      public String getContentType() {
    83          return contentType;
    84      }
    85
    86      /* (non-Javadoc)
    87       * @see org.apache.commons.httpclient.RequestEntity#writeRequest(java.io.OutputStream)
    88       */
    89      public void writeRequest(OutputStream out) throws IOException {
    90          out.write(content);
    91      }
    92
    93      /**
    94       * @return The length of the content.
    95       */
    96      public long getContentLength() {
    97          return content.length;
    98      }
    99
    100     /**
    101      * @return Returns the content.
    102      */
    103     public byte[] getContent() {
    104         return content;
    105     }
    106
    107 }