org.sunflow.core.parser

## Class SCAbstractParser

- java.lang.Object
- - org.sunflow.core.parser.SCAbstractParser

- All Implemented Interfaces:
    SceneParser
  Direct Known Subclasses:
    SCAsciiParser, SCBinaryParser

      public abstract class SCAbstractParser
      extends java.lang.Object
      implements SceneParser

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `SCAbstractParser.Keyword`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SCAbstractParser()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected abstract void` | `closeParser()`
    `protected abstract void` | `openParser(java.lang.String filename)`
    `boolean` | `parse(java.lang.String filename, SunflowAPIInterface api)` Parse the specified file to create a scene description into the provided `SunflowAPI` object.
    `protected abstract boolean` | `parseBoolean()`
    `protected abstract float` | `parseFloat()`
    `protected float[]` | `parseFloatArray(int size)`
    `protected abstract int` | `parseInt()`
    `protected abstract ParameterList.InterpolationType` | `parseInterpolationType()`
    `protected abstract SCAbstractParser.Keyword` | `parseKeyword()`
    `protected abstract Matrix4` | `parseMatrix()`
    `protected abstract java.lang.String` | `parseString()`
    `protected abstract java.lang.String` | `parseVerbatimString()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SCAbstractParser

          public SCAbstractParser()

  - ### Method Detail

    - #### parse

          public boolean parse(java.lang.String filename,
                               SunflowAPIInterface api)

      Description copied from interface: `SceneParser`
      Parse the specified file to create a scene description into the provided `SunflowAPI` object.
      Specified by:
        `parse` in interface `SceneParser`
      Parameters:
        `filename` - filename to parse
        `api` - scene to parse the file into
      Returns:
        `true` upon sucess, or `false` if errors have occured.

    - #### parseFloatArray

          protected float[] parseFloatArray(int size)
                                     throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### parseInterpolationType

          protected abstract ParameterList.InterpolationType parseInterpolationType()
                                                                             throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### openParser

          protected abstract void openParser(java.lang.String filename)
                                      throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### closeParser

          protected abstract void closeParser()
                                       throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### parseKeyword

          protected abstract SCAbstractParser.Keyword parseKeyword()
                                                            throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### parseBoolean

          protected abstract boolean parseBoolean()
                                           throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### parseInt

          protected abstract int parseInt()
                                   throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### parseFloat

          protected abstract float parseFloat()
                                       throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### parseString

          protected abstract java.lang.String parseString()
                                                   throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### parseVerbatimString

          protected abstract java.lang.String parseVerbatimString()
                                                           throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### parseMatrix

          protected abstract Matrix4 parseMatrix()
                                          throws java.io.IOException

      Throws:
        `java.io.IOException`