Package 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 | Description
    --- | --- | ---
    `static class` | `SCAbstractParser.Keyword` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SCAbstractParser()` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | 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`