Package org.kie.internal.runtime.conf

## Class ObjectModel

- java.lang.Object
- - org.kie.internal.runtime.conf.ObjectModel

- All Implemented Interfaces:
    `java.io.Serializable`
  Direct Known Subclasses:
    `NamedObjectModel`, `TransientObjectModel`

      public class ObjectModel
      extends java.lang.Object
      implements java.io.Serializable

  Object model that defines how and of what type the object instance should be created.
  The how is actually delegated to resolved implementation `ObjectModelResolver` that default to Java Reflection based resolver but might utilize others (such as MVEL, Spring, CDI, etc).
  The what type is derived from identifier (which should be FQCN in case of reflection) that is then used to create instance of that object using constructor. Which constructor is taken depends on defined parameters which might be again an ObjectModel for complex types. String types are supported directly, all other should be represented as ObjectModel.
  There are some key words acceptable that directly will refer to available instances:
  - runtimeManager - to get RuntimeManager instance injected
  - runtimeEngine - to get RuntimeEngine instance injected
  - ksession - to get KieSession instance injected
  - taskService - to get TaskService instance injected
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ObjectModel()` |
    `ObjectModel​(java.lang.String identifier, java.lang.Object... parameters)` |
    `ObjectModel​(java.lang.String resolver, java.lang.String identifier, java.lang.Object... parameters)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addParameter​(java.lang.Object parameter)` |
    `boolean` | `equals​(java.lang.Object obj)` |
    `java.lang.String` | `getIdentifier()` |
    `java.util.List<java.lang.Object>` | `getParameters()` |
    `java.lang.String` | `getResolver()` |
    `int` | `hashCode()` |
    `void` | `setIdentifier​(java.lang.String classname)` |
    `void` | `setParameters​(java.util.List<java.lang.Object> parameters)` |
    `void` | `setResolver​(java.lang.String resolver)` |
    `java.lang.String` | `toString()` |

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### ObjectModel

          public ObjectModel()

    - #### ObjectModel

          public ObjectModel​(java.lang.String identifier,
                             java.lang.Object... parameters)

    - #### ObjectModel

          public ObjectModel​(java.lang.String resolver,
                             java.lang.String identifier,
                             java.lang.Object... parameters)

  - ### Method Detail

    - #### getIdentifier

          public java.lang.String getIdentifier()

    - #### setIdentifier

          public void setIdentifier​(java.lang.String classname)

    - #### getParameters

          public java.util.List<java.lang.Object> getParameters()

    - #### setParameters

          public void setParameters​(java.util.List<java.lang.Object> parameters)

    - #### addParameter

          public void addParameter​(java.lang.Object parameter)

    - #### getResolver

          public java.lang.String getResolver()

    - #### setResolver

          public void setResolver​(java.lang.String resolver)

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### equals

          public boolean equals​(java.lang.Object obj)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`