org.rhq.enterprise.server.sync
Class ExportingInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by org.rhq.enterprise.server.sync.ExportingInputStream
All Implemented Interfaces:
Closeable

public class ExportingInputStream
extends InputStream

Reading from this input stream produces the export file in a lazy (and therefore memory efficient) manner.

Author:
Lukas Krejci

Constructor Summary
ExportingInputStream(Set<Synchronizer<?,?>> synchronizers, Map<String,org.rhq.core.domain.sync.ExporterMessages> messagesPerExporter)
          Constructs a new exporting input stream with the default buffer size of 64KB that zips up the results.
ExportingInputStream(Set<Synchronizer<?,?>> synchronizers, Map<String,org.rhq.core.domain.sync.ExporterMessages> messagesPerExporter, int size, boolean zip)
          Constructs a new exporting input stream with the default buffer size of 64KB.
 
Method Summary
 int available()
           
 void close()
           
 void mark(int readlimit)
           
 boolean markSupported()
           
 int read()
           
 int read(byte[] b)
           
 int read(byte[] b, int off, int len)
           
 void reset()
           
 long skip(long n)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExportingInputStream

public ExportingInputStream(Set<Synchronizer<?,?>> synchronizers,
                            Map<String,org.rhq.core.domain.sync.ExporterMessages> messagesPerExporter)
                     throws IOException
Constructs a new exporting input stream with the default buffer size of 64KB that zips up the results.

Throws:
IOException
See Also:
ExportingInputStream(Set, Map, int, boolean)

ExportingInputStream

public ExportingInputStream(Set<Synchronizer<?,?>> synchronizers,
                            Map<String,org.rhq.core.domain.sync.ExporterMessages> messagesPerExporter,
                            int size,
                            boolean zip)
                     throws IOException
Constructs a new exporting input stream with the default buffer size of 64KB.

Parameters:
synchronizers - the synchronizers to invoke when producing the export file
messagesPerExporter - a reference to a map of messages that the exporters will use to produce additional info about the export
size - the size in bytes of the intermediate buffer
zip - whether to zip the export data
Throws:
IOException - on failure
Method Detail

read

public int read()
         throws IOException
Specified by:
read in class InputStream
Throws:
IOException

read

public int read(byte[] b)
         throws IOException
Overrides:
read in class InputStream
Throws:
IOException

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException
Overrides:
read in class InputStream
Throws:
IOException

reset

public void reset()
           throws IOException
Overrides:
reset in class InputStream
Throws:
IOException

skip

public long skip(long n)
          throws IOException
Overrides:
skip in class InputStream
Throws:
IOException

available

public int available()
              throws IOException
Overrides:
available in class InputStream
Throws:
IOException

close

public void close()
           throws IOException
Specified by:
close in interface Closeable
Overrides:
close in class InputStream
Throws:
IOException

mark

public void mark(int readlimit)
Overrides:
mark in class InputStream

markSupported

public boolean markSupported()
Overrides:
markSupported in class InputStream


Copyright © 2008-2012 Red Hat, Inc.. All Rights Reserved.