DebugModel (FreeMarker 2.3.23 API)
Date: 2015-07-05

freemarker.debug

## Interface DebugModel

- All Superinterfaces:
    Remote
  All Known Subinterfaces:
    DebuggedEnvironment

      public interface DebugModel
      extends Remote

  Represents the debugger-side mirror of a TemplateModel object, a Template object, or a Configuration object. The Environment objects are also represented by instances of this model, although not directly but through a separate subinterface `DebuggedEnvironment`. The interface is a union of almost all of FreeMarker template models with identical method signatures. For purposes of optimizing network traffic there are bulk retrieval methods for sequences and hashes, as well as a `getModelTypes()` method that returns a bit mask of various `TYPE_xxx` constants flagging which template models are implemented by the mirrored object.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `TYPE_BOOLEAN`
    `static int` | `TYPE_COLLECTION`
    `static int` | `TYPE_CONFIGURATION`
    `static int` | `TYPE_DATE`
    `static int` | `TYPE_ENVIRONMENT`
    `static int` | `TYPE_HASH`
    `static int` | `TYPE_HASH_EX`
    `static int` | `TYPE_METHOD`
    `static int` | `TYPE_METHOD_EX`
    `static int` | `TYPE_NUMBER`
    `static int` | `TYPE_SCALAR`
    `static int` | `TYPE_SEQUENCE`
    `static int` | `TYPE_TEMPLATE`
    `static int` | `TYPE_TRANSFORM`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `DebugModel` | `get(int index)`
    `DebugModel[]` | `get(int fromIndex, int toIndex)`
    `DebugModel` | `get(String key)`
    `DebugModel[]` | `get(String[] keys)`
    `boolean` | `getAsBoolean()`
    `Date` | `getAsDate()`
    `Number` | `getAsNumber()`
    `String` | `getAsString()`
    `DebugModel[]` | `getCollection()`
    `int` | `getDateType()`
    `int` | `getModelTypes()`
    `String[]` | `keys()`
    `int` | `size()`

- - ### Field Detail

    - #### TYPE_SCALAR

          static final int TYPE_SCALAR

      See Also:
        Constant Field Values

    - #### TYPE_NUMBER

          static final int TYPE_NUMBER

      See Also:
        Constant Field Values

    - #### TYPE_DATE

          static final int TYPE_DATE

      See Also:
        Constant Field Values

    - #### TYPE_BOOLEAN

          static final int TYPE_BOOLEAN

      See Also:
        Constant Field Values

    - #### TYPE_SEQUENCE

          static final int TYPE_SEQUENCE

      See Also:
        Constant Field Values

    - #### TYPE_COLLECTION

          static final int TYPE_COLLECTION

      See Also:
        Constant Field Values

    - #### TYPE_HASH

          static final int TYPE_HASH

      See Also:
        Constant Field Values

    - #### TYPE_HASH_EX

          static final int TYPE_HASH_EX

      See Also:
        Constant Field Values

    - #### TYPE_METHOD

          static final int TYPE_METHOD

      See Also:
        Constant Field Values

    - #### TYPE_METHOD_EX

          static final int TYPE_METHOD_EX

      See Also:
        Constant Field Values

    - #### TYPE_TRANSFORM

          static final int TYPE_TRANSFORM

      See Also:
        Constant Field Values

    - #### TYPE_ENVIRONMENT

          static final int TYPE_ENVIRONMENT

      See Also:
        Constant Field Values

    - #### TYPE_TEMPLATE

          static final int TYPE_TEMPLATE

      See Also:
        Constant Field Values

    - #### TYPE_CONFIGURATION

          static final int TYPE_CONFIGURATION

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getAsString

          String getAsString()
                      throws TemplateModelException,
                             RemoteException

      Throws:
        `TemplateModelException`
        `RemoteException`

    - #### getAsNumber

          Number getAsNumber()
                      throws TemplateModelException,
                             RemoteException

      Throws:
        `TemplateModelException`
        `RemoteException`

    - #### getAsBoolean

          boolean getAsBoolean()
                        throws TemplateModelException,
                               RemoteException

      Throws:
        `TemplateModelException`
        `RemoteException`

    - #### getAsDate

          Date getAsDate()
                  throws TemplateModelException,
                         RemoteException

      Throws:
        `TemplateModelException`
        `RemoteException`

    - #### getDateType

          int getDateType()
                   throws TemplateModelException,
                          RemoteException

      Throws:
        `TemplateModelException`
        `RemoteException`

    - #### size

          int size()
            throws TemplateModelException,
                   RemoteException

      Throws:
        `TemplateModelException`
        `RemoteException`

    - #### get

          DebugModel get(int index)
                  throws TemplateModelException,
                         RemoteException

      Throws:
        `TemplateModelException`
        `RemoteException`

    - #### get

          DebugModel[] get(int fromIndex,
                           int toIndex)
                    throws TemplateModelException,
                           RemoteException

      Throws:
        `TemplateModelException`
        `RemoteException`

    - #### get

          DebugModel get(String key)
                  throws TemplateModelException,
                         RemoteException

      Throws:
        `TemplateModelException`
        `RemoteException`

    - #### get

          DebugModel[] get(String[] keys)
                    throws TemplateModelException,
                           RemoteException

      Throws:
        `TemplateModelException`
        `RemoteException`

    - #### getCollection

          DebugModel[] getCollection()
                              throws TemplateModelException,
                                     RemoteException

      Throws:
        `TemplateModelException`
        `RemoteException`

    - #### keys

          String[] keys()
                 throws TemplateModelException,
                        RemoteException

      Throws:
        `TemplateModelException`
        `RemoteException`

    - #### getModelTypes

          int getModelTypes()
                     throws RemoteException

      Throws:
        `RemoteException`