net.fortuna.ical4j.data
Class UnfoldingReader

java.lang.Object
  extended by java.io.Reader
      extended by java.io.FilterReader
          extended by java.io.PushbackReader
              extended by net.fortuna.ical4j.data.UnfoldingReader
All Implemented Interfaces:
Closeable, Readable

public class UnfoldingReader
extends PushbackReader

 $Id$ [06-Apr-2004]
 
A reader which performs iCalendar unfolding as it reads. Note that unfolding rules may be "relaxed" to allow unfolding of non-conformant *.ics files. By specifying the system property "ical4j.unfolding.relaxed=true" iCalendar files created with Mozilla Calendar/Sunbird may be correctly unfolded. To wrap this reader with a BufferedReader you must ensure you specify an identical buffer size to that used in the BufferedReader.

Author:
Ben Fortuna

Field Summary
 
Fields inherited from class java.io.FilterReader
in
 
Fields inherited from class java.io.Reader
lock
 
Constructor Summary
UnfoldingReader(Reader in)
          Creates a new unfolding reader instance.
UnfoldingReader(Reader in, boolean relaxed)
           
UnfoldingReader(Reader in, int size)
           
UnfoldingReader(Reader in, int size, boolean relaxed)
          Creates a new unfolding reader instance.
 
Method Summary
 int getLinesUnfolded()
           
 int read()
          
 int read(char[] cbuf, int off, int len)
          
 
Methods inherited from class java.io.PushbackReader
close, mark, markSupported, ready, reset, skip, unread, unread, unread
 
Methods inherited from class java.io.Reader
read, read
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UnfoldingReader

public UnfoldingReader(Reader in)
Creates a new unfolding reader instance. Relaxed unfolding flag is read from system property.

Parameters:
in - the reader to unfold from

UnfoldingReader

public UnfoldingReader(Reader in,
                       int size)
Parameters:
in - reader source for data
size - the buffer size

UnfoldingReader

public UnfoldingReader(Reader in,
                       boolean relaxed)
Parameters:
in - reader source for data
relaxed - indicates whether relaxed unfolding is enabled

UnfoldingReader

public UnfoldingReader(Reader in,
                       int size,
                       boolean relaxed)
Creates a new unfolding reader instance.

Parameters:
in - a reader to read from
size - the buffer size
relaxed - specifies whether unfolding is relaxed
Method Detail

getLinesUnfolded

public final int getLinesUnfolded()
Returns:
number of lines unfolded so far while reading

read

public final int read()
               throws IOException

Overrides:
read in class PushbackReader
Throws:
IOException

read

public int read(char[] cbuf,
                int off,
                int len)
         throws IOException

Overrides:
read in class PushbackReader
Throws:
IOException


Copyright © 2004-2012 Micronode. All Rights Reserved.