Home » HttpComponents-Core-4.0.1 » org.apache.http.entity » [javadoc | source]

    1   /*
    2    * $HeadURL: https://svn.apache.org/repos/asf/httpcomponents/httpcore/tags/4.0.1/httpcore/src/main/java/org/apache/http/entity/ByteArrayEntity.java $
    3    * $Revision: 744523 $
    4    * $Date: 2009-02-14 17:57:41 +0100 (Sat, 14 Feb 2009) $
    5    *
    6    * ====================================================================
    7    * Licensed to the Apache Software Foundation (ASF) under one
    8    * or more contributor license agreements.  See the NOTICE file
    9    * distributed with this work for additional information
   10    * regarding copyright ownership.  The ASF licenses this file
   11    * to you under the Apache License, Version 2.0 (the
   12    * "License"); you may not use this file except in compliance
   13    * with 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,
   18    * software distributed under the License is distributed on an
   19    * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   20    * KIND, either express or implied.  See the License for the
   21    * specific language governing permissions and limitations
   22    * under the License.
   23    * ====================================================================
   24    *
   25    * This software consists of voluntary contributions made by many
   26    * individuals on behalf of the Apache Software Foundation.  For more
   27    * information on the Apache Software Foundation, please see
   28    * <http://www.apache.org/>.
   29    *
   30    */
   31   
   32   package org.apache.http.entity;
   33   
   34   import java.io.ByteArrayInputStream;
   35   import java.io.IOException;
   36   import java.io.InputStream;
   37   import java.io.OutputStream;
   38   
   39   /**
   40    * A self contained, repeatable entity that obtains its content from a byte array.
   41    *
   42    *
   43    * @version $Revision: 744523 $
   44    * 
   45    * @since 4.0
   46    */
   47   public class ByteArrayEntity extends AbstractHttpEntity implements Cloneable {
   48   
   49       protected final byte[] content;
   50   
   51       public ByteArrayEntity(final byte[] b) {
   52           super();        
   53           if (b == null) {
   54               throw new IllegalArgumentException("Source byte array may not be null");
   55           }
   56           this.content = b;
   57       }
   58   
   59       public boolean isRepeatable() {
   60           return true;
   61       }
   62   
   63       public long getContentLength() {
   64           return this.content.length;
   65       }
   66   
   67       public InputStream getContent() {
   68           return new ByteArrayInputStream(this.content);
   69       }
   70       
   71       public void writeTo(final OutputStream outstream) throws IOException {
   72           if (outstream == null) {
   73               throw new IllegalArgumentException("Output stream may not be null");
   74           }
   75           outstream.write(this.content);
   76           outstream.flush();
   77       }
   78   
   79   
   80       /**
   81        * Tells that this entity is not streaming.
   82        *
   83        * @return <code>false</code>
   84        */
   85       public boolean isStreaming() {
   86           return false;
   87       }
   88   
   89       public Object clone() throws CloneNotSupportedException {
   90           return super.clone();
   91       }
   92   
   93   } // class ByteArrayEntity

Home » HttpComponents-Core-4.0.1 » org.apache.http.entity » [javadoc | source]