Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.pdfbox.pdfparser
Class BaseParser

    java.lang.Object
      org.pdfbox.pdfparser.BaseParser

Direct Known Subclasses:
  PDFObjectStreamParser, PDFParser, PDFStreamParser

public abstract class BaseParser
extends Object

This class is used to contain parsing logic that will be used by both the PDFParser and the COSStreamParser.

Version:
  $Revision: 1.59 $
Author:
  Ben Litchfield

Field Summary
`static String` | `DEF` This is a byte array that will be used for comparisons.
`static byte[]` | `ENDSTREAM` This is a byte array that will be used for comparisons.
`protected PushBackInputStream` | `pdfSource` This is the stream that will be read from.

Constructor Summary
`protected` | `BaseParser(byte[] input)` Constructor.
`` | `BaseParser(InputStream input)` Constructor.

Method Summary
`void` | `addXref(PDFXref xref)` This will add an xref.
`List` | `getXrefs()` This will get all of the xrefs.
`protected boolean` | `isClosing()` This will tell if the next character is a closing brace( close of PDF array ).
`protected boolean` | `isClosing(int c)` This will tell if the next character is a closing brace( close of PDF array ).
`protected boolean` | `isEndOfName(char ch)` Determine if a character terminates a PDF name.
`protected boolean` | `isEOL()` This will tell if the next byte to be read is an end of line byte.
`protected boolean` | `isEOL(int c)` This will tell if the next byte to be read is an end of line byte.
`protected boolean` | `isWhitespace()` This will tell if the next byte is whitespace or not.
`protected boolean` | `isWhitespace(int c)` This will tell if the next byte is whitespace or not.
`protected COSBoolean` | `parseBoolean()` This will parse a boolean object from the stream.
`protected COSArray` | `parseCOSArray()` This will parse a PDF array object.
`protected COSDictionary` | `parseCOSDictionary()` This will parse a PDF dictionary.
`protected COSName` | `parseCOSName()` This will parse a PDF name from the stream.
`protected COSStream` | `parseCOSStream(COSDictionary dic, RandomAccess file)` This will read a COSStream from the input stream.
`protected COSString` | `parseCOSString()` This will parse a PDF string.
`protected COSBase` | `parseDirObject()` This will parse a directory object from the stream.
`protected String` | `readExpectedString(String theString)` This will read bytes until the end of line marker occurs.
`protected int` | `readInt()` This will read an integer from the stream.
`protected String` | `readLine()` This will read bytes until the end of line marker occurs.
`protected String` | `readString()` This will read the next string from the stream.
`protected String` | `readString(int length)` This will read the next string from the stream up to a certain length.
`void` | `setDocument(COSDocument doc)` Set the document for this stream.
`protected void` | `skipSpaces()` This will skip all spaces and comments that are present.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### ENDSTREAM

    public static final byte[] ENDSTREAM

  This is a byte array that will be used for comparisons.

### DEF

    public static final String DEF

  This is a byte array that will be used for comparisons.

  See Also:
    Constant Field Values

### pdfSource

    protected PushBackInputStream pdfSource

  This is the stream that will be read from.

Constructor Detail

### BaseParser

    public BaseParser(InputStream input)
               throws IOException

  Constructor.

Parameters:
  `input` - The input stream to read the data from.
Throws:
  `IOException` - If there is an error reading the input stream.

### BaseParser

    protected BaseParser(byte[] input)
                  throws IOException

  Constructor.

Parameters:
  `input` - The array to read the data from.
Throws:
  `IOException` - If there is an error reading the byte data.

Method Detail

### setDocument

    public void setDocument(COSDocument doc)

  Set the document for this stream.

  Parameters:
    `doc` - The current document.

### parseCOSDictionary

    protected COSDictionary parseCOSDictionary()
                                        throws IOException

  This will parse a PDF dictionary.

  Returns:
    The parsed dictionary.
  Throws:
    `IOException` - IF there is an error reading the stream.

### parseCOSStream

    protected COSStream parseCOSStream(COSDictionary dic,
                                       RandomAccess file)
                                throws IOException

  This will read a COSStream from the input stream.

  Parameters:
    `file` - The file to write the stream to when reading.
    `dic` - The dictionary that goes with this stream.
  Returns:
    The parsed pdf stream.
  Throws:
    `IOException` - If there is an error reading the stream.

### parseCOSString

    protected COSString parseCOSString()
                                throws IOException

  This will parse a PDF string.

  Returns:
    The parsed PDF string.
  Throws:
    `IOException` - If there is an error reading from the stream.

### parseCOSArray

    protected COSArray parseCOSArray()
                              throws IOException

  This will parse a PDF array object.

  Returns:
    The parsed PDF array.
  Throws:
    `IOException` - If there is an error parsing the stream.

### isEndOfName

    protected boolean isEndOfName(char ch)

  Determine if a character terminates a PDF name.

  Parameters:
    `ch` - The character
  Returns:
    `true` if the character terminates a PDF name, otherwise `false`.

### parseCOSName

    protected COSName parseCOSName()
                            throws IOException

  This will parse a PDF name from the stream.

  Returns:
    The parsed PDF name.
  Throws:
    `IOException` - If there is an error reading from the stream.

### parseBoolean

    protected COSBoolean parseBoolean()
                               throws IOException

  This will parse a boolean object from the stream.

  Returns:
    The parsed boolean object.
  Throws:
    `IOException` - If an IO error occurs during parsing.

### parseDirObject

    protected COSBase parseDirObject()
                              throws IOException

  This will parse a directory object from the stream.

  Returns:
    The parsed object.
  Throws:
    `IOException` - If there is an error during parsing.

### readString

    protected String readString()
                         throws IOException

  This will read the next string from the stream.

  Returns:
    The string that was read from the stream.
  Throws:
    `IOException` - If there is an error reading from the stream.

### readExpectedString

    protected String readExpectedString(String theString)
                                 throws IOException

  This will read bytes until the end of line marker occurs.

  Parameters:
    `theString` - The next expected string in the stream.
  Returns:
    The characters between the current position and the end of the line.
  Throws:
    `IOException` - If there is an error reading from the stream or theString does not match what was read.

### readString

    protected String readString(int length)
                         throws IOException

  This will read the next string from the stream up to a certain length.

  Parameters:
    `length` - The length to stop reading at.
  Returns:
    The string that was read from the stream of length 0 to length.
  Throws:
    `IOException` - If there is an error reading from the stream.

### isClosing

    protected boolean isClosing()
                         throws IOException

  This will tell if the next character is a closing brace( close of PDF array ).

  Returns:
    true if the next byte is ']', false otherwise.
  Throws:
    `IOException` - If an IO error occurs.

### isClosing

    protected boolean isClosing(int c)

  This will tell if the next character is a closing brace( close of PDF array ).

  Parameters:
    `c` - The character to check against end of line
  Returns:
    true if the next byte is ']', false otherwise.

### readLine

    protected String readLine()
                       throws IOException

  This will read bytes until the end of line marker occurs.

  Returns:
    The characters between the current position and the end of the line.
  Throws:
    `IOException` - If there is an error reading from the stream.

### isEOL

    protected boolean isEOL()
                     throws IOException

  This will tell if the next byte to be read is an end of line byte.

  Returns:
    true if the next byte is 0x0A or 0x0D.
  Throws:
    `IOException` - If there is an error reading from the stream.

### isEOL

    protected boolean isEOL(int c)

  This will tell if the next byte to be read is an end of line byte.

  Parameters:
    `c` - The character to check against end of line
  Returns:
    true if the next byte is 0x0A or 0x0D.

### isWhitespace

    protected boolean isWhitespace()
                            throws IOException

  This will tell if the next byte is whitespace or not.

  Returns:
    true if the next byte in the stream is a whitespace character.
  Throws:
    `IOException` - If there is an error reading from the stream.

### isWhitespace

    protected boolean isWhitespace(int c)

  This will tell if the next byte is whitespace or not.

  Parameters:
    `c` - The character to check against whitespace
  Returns:
    true if the next byte in the stream is a whitespace character.

### skipSpaces

    protected void skipSpaces()
                       throws IOException

  This will skip all spaces and comments that are present.

  Throws:
    `IOException` - If there is an error reading from the stream.

### readInt

    protected int readInt()
                   throws IOException

  This will read an integer from the stream.

  Returns:
    The integer that was read from the stream.
  Throws:
    `IOException` - If there is an error reading from the stream.

### addXref

    public void addXref(PDFXref xref)

  This will add an xref.

  Parameters:
    `xref` - The xref to add.

### getXrefs

    public List getXrefs()

  This will get all of the xrefs.

  Returns:
    A list of all xrefs.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD