edu.harvard.hul.ois.jhove
Class XMPSource

java.lang.Object
  extended by org.xml.sax.InputSource
      extended by edu.harvard.hul.ois.jhove.XMPSource
Direct Known Subclasses:
ByteArrayXMPSource, PdfXMPSource

public abstract class XMPSource
extends org.xml.sax.InputSource

Class for providing an InputSource to XMPHandler. Only an InputSource based on a Reader is supported. Each module can provide its own subclass of XMPSource. The subclass must provide a way to reset to the beginning and reread the data when makeProperty is called.

Author:
Gary McGath

Field Summary
protected  java.io.Reader _reader
          The Reader on which the InputSource is based.
 
Constructor Summary
XMPSource(java.io.Reader rdr)
          Constructor with Reader.
 
Method Summary
 Property makeProperty()
          Generates a property from the underlying data.
protected abstract  void resetReader()
          Causes reading to begin from the start again.
 
Methods inherited from class org.xml.sax.InputSource
getByteStream, getCharacterStream, getEncoding, getPublicId, getSystemId, setByteStream, setCharacterStream, setEncoding, setPublicId, setSystemId
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_reader

protected java.io.Reader _reader
The Reader on which the InputSource is based.

Constructor Detail

XMPSource

public XMPSource(java.io.Reader rdr)
Constructor with Reader.

Method Detail

makeProperty

public Property makeProperty()
                      throws java.io.IOException
Generates a property from the underlying data. The beginning and ending processing instructions are stripped out.

Throws:
java.io.IOException

resetReader

protected abstract void resetReader()
Causes reading to begin from the start again. Typically this means creating a new value for _reader that will start over.