You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by ju...@apache.org on 2001/05/21 17:43:05 UTC

cvs commit: jakarta-slide/src/share/org/apache/slide/content NodeRevisionContent.java

juergen     01/05/21 08:43:04

  Modified:    src/share/org/apache/slide/content NodeRevisionContent.java
  Log:
  added a new accessor returning a byte array "getContentBytes()"
  
  Revision  Changes    Path
  1.8       +102 -21   jakarta-slide/src/share/org/apache/slide/content/NodeRevisionContent.java
  
  Index: NodeRevisionContent.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/content/NodeRevisionContent.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- NodeRevisionContent.java	2001/02/01 17:16:25	1.7
  +++ NodeRevisionContent.java	2001/05/21 15:42:56	1.8
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-slide/src/share/org/apache/slide/content/NodeRevisionContent.java,v 1.7 2001/02/01 17:16:25 juergen Exp $
  - * $Revision: 1.7 $
  - * $Date: 2001/02/01 17:16:25 $
  + * $Header: /home/cvs/jakarta-slide/src/share/org/apache/slide/content/NodeRevisionContent.java,v 1.8 2001/05/21 15:42:56 juergen Exp $
  + * $Revision: 1.8 $
  + * $Date: 2001/05/21 15:42:56 $
    *
    * ====================================================================
    *
  @@ -75,7 +75,7 @@
    *
    * @author <a href="mailto:remm@apache.org">Remy Maucherat</a>
    * @author Juergen Pill
  - * @version $Revision: 1.7 $
  + * @version $Revision: 1.8 $
    */
   public final class NodeRevisionContent implements Serializable {
       
  @@ -93,6 +93,7 @@
        * Content.
        */
       private char[] content = null;
  +    private byte[] contentBytes = null;
       
       
       /**
  @@ -121,10 +122,10 @@
               result = content;
               inputStream = null;
               reader = null;
  -        };
  -        if (inputStream != null) {
  +        }
  +        else if (reader != null) {
               try {
  -                content = new String(readFromStream(inputStream)).toCharArray();
  +                content = readFromReader(reader);
               } catch (IOException e) {
                   e.printStackTrace();
               }
  @@ -132,12 +133,19 @@
               inputStream = null;
               reader = null;
           }
  -        if (reader != null) {
  +        else if (contentBytes != null) {
  +            content = new String(contentBytes).toCharArray();
  +            result = content;
  +            inputStream = null;
  +            reader = null;
  +        }
  +        else if (inputStream != null) {
               try {
  -                content = readFromReader(reader);
  +                contentBytes = readFromStream(inputStream);
               } catch (IOException e) {
                   e.printStackTrace();
               }
  +            content = new String(contentBytes).toCharArray();
               result = content;
               inputStream = null;
               reader = null;
  @@ -145,6 +153,48 @@
           return result;
       }
       
  +    /**
  +     * Content accessor.
  +     *
  +     * @return char[] Content
  +     */
  +    public byte[] getContentBytes() {
  +        byte[] result = null;
  +        if (contentBytes != null) {
  +            result = contentBytes;
  +            inputStream = null;
  +            reader = null;
  +        }
  +        else if (inputStream != null) {
  +            try {
  +                contentBytes = readFromStream(inputStream);
  +            } catch (IOException e) {
  +                e.printStackTrace();
  +            }
  +            result = contentBytes;
  +            inputStream = null;
  +            reader = null;
  +        }
  +        else if (content != null) {
  +            contentBytes = new String(content).getBytes();
  +            result = contentBytes;
  +            inputStream = null;
  +            reader = null;
  +        }
  +        else if (reader != null) {
  +            try {
  +                content = readFromReader(reader);
  +            } catch (IOException e) {
  +                e.printStackTrace();
  +            }
  +            contentBytes = new String(content).getBytes();
  +            result = contentBytes;
  +            inputStream = null;
  +            reader = null;
  +        }
  +        return result;
  +    }
  +    
       
       
       /**
  @@ -155,19 +205,24 @@
       public Reader readContent()
           throws IOException {
           Reader result = null;
  -        if (content != null) {
  -            result = new CharArrayReader(content);
  -            inputStream = null;
  -            reader = null;
  -        }
           if (reader != null) {
               result = reader;
               inputStream = null;
           }
  -        if (inputStream != null) {
  +        else if (content != null) {
  +            result = new CharArrayReader(content);
  +            inputStream = null;
  +            reader = null;
  +        }
  +        else if (inputStream != null) {
               result = new InputStreamReader(inputStream);
               reader = null;
           }
  +        else if (contentBytes != null) {
  +            result = new CharArrayReader(new String(contentBytes).toCharArray());
  +            inputStream = null;
  +            reader = null;
  +        }
           return result;
       }
       
  @@ -180,16 +235,27 @@
       public InputStream streamContent()
           throws IOException {
           InputStream result = null;
  -        if (content != null) {
  -            result = new StringBufferInputStream(new String(content));
  -            reader = null;
  -            inputStream = null;
  -        }
           if (inputStream != null) {
               result = inputStream;
               content = null;
               reader = null;
           }
  +        else if (contentBytes != null) {
  +            result = new ByteArrayInputStream( contentBytes );
  +            reader = null;
  +            inputStream = null;
  +        }
  +//      else if( reader != null ) {
  +//            result = ???;
  +//            inputStream = null;
  +//      }
  +        else if (content != null) {
  +//            Class StringBufferInputStream is deprecated !!
  +//            result = new StringBufferInputStream(new String(content));
  +            result = new ByteArrayInputStream( new String(content).getBytes() );
  +            reader = null;
  +            inputStream = null;
  +        }
           return result;
       }
       
  @@ -199,10 +265,23 @@
        *
        * @param content New content
        */
  +    public void setContent(byte[] contentBytes) {
  +        this.contentBytes = contentBytes;
  +        this.reader = null;
  +        this.inputStream = null;
  +        this.content = null;
  +    }
  +    
  +    /**
  +     * Content mutator.
  +     *
  +     * @param content New content
  +     */
       public void setContent(char[] content) {
           this.content = content;
           this.reader = null;
           this.inputStream = null;
  +        this.contentBytes = null;
       }
       
       
  @@ -215,6 +294,7 @@
           this.reader = reader;
           this.inputStream = null;
           this.content = null;
  +        this.contentBytes = null;
       }
       
       
  @@ -227,6 +307,7 @@
           this.inputStream = inputStream;
           this.reader = null;
           this.content = null;
  +        this.contentBytes = null;
       }
       
       
  @@ -238,7 +319,7 @@
        */
       public void validate() {
           
  -        if ((content == null) && (reader == null) && (inputStream == null))
  +        if ((content == null) && (contentBytes == null) && (reader == null) && (inputStream == null))
               throw new ObjectValidationFailedException
                   (Messages.message
                    (NodeRevisionContent.class.getName() + ".noContent"));