org.kie.api.definition.type

## Interface FactType

- All Superinterfaces:
    Externalizable, Serializable

      public interface FactType
      extends Externalizable

  FactType declarations are fact definitions (like classes) that are managed alongside the rules. You then communicate with the rulebase/knowledge base by using instances created by this. There are utility set and get methods on this, as well as in the FactFields. The Object that is used is a javabean (which was generated by the engine). You can also use reflection on it as normal.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `get(Object bean, String field)` Gets the value of the specified field on the dynamic fact.
    `Map<String,Object>` | `getAsMap(Object bean)` Get a map of the fields and their values for the bean.
    `List<Annotation>` | `getClassAnnotations()` Returns the list of class-level annotations used in this class definition
    `Class<?>` | `getFactClass()` Returns the Class<?
    `FactField` | `getField(String name)` Returns the FactField identified by the given name.
    `List<FactField>` | `getFields()` Returns the list of FactField in this FactType
    `Map<String,Object>` | `getMetaData()` Returns the annotations of this class definition as key-value pairs.
    `String` | `getName()` Returns the name of the FactType.
    `String` | `getPackageName()` Returns the package this FactType is defined in.
    `String` | `getSimpleName()` Returns the unqualified name of the FactType.
    `String` | `getSuperClass()` Returns the name of the FactType's super type
    `Object` | `newInstance()` Create a new fact based on the declared fact type.
    `void` | `set(Object bean, String field, Object value)` Sets the value of the field on a fact.
    `void` | `setFromMap(Object bean, Map<String,Object> values)` Sets the values of the bean from a map.

    - ### Methods inherited from interface java.io.Externalizable

      `readExternal, writeExternal`

- - ### Method Detail

    - #### getName

          String getName()

      Returns the name of the FactType.
      Returns:
        the name of the fact type.

    - #### getSimpleName

          String getSimpleName()

      Returns the unqualified name of the FactType.
      Returns:
        the name of the fact type.

    - #### getPackageName

          String getPackageName()

      Returns the package this FactType is defined in.
      Returns:
        the name of the fact type's package.

    - #### getSuperClass

          String getSuperClass()

      Returns the name of the FactType's super type
      Returns:
        the name of the fact type's super type.

    - #### getFields

          List<FactField> getFields()

      Returns the list of FactField in this FactType
      Returns:
        the list of the fields in this FactType

    - #### getField

          FactField getField(String name)

      Returns the FactField identified by the given name.
      Parameters:
        `name` - the name of the FactField
      Returns:
        the FactField instance identified by the given name or null if none is found.

    - #### getFactClass

          Class<?> getFactClass()

      Returns the Class<?> for this FactType. The class object can be used through reflection.
      Returns:
        the generated class for this FactType

    - #### newInstance

          Object newInstance()
                             throws InstantiationException,
                                    IllegalAccessException

      Create a new fact based on the declared fact type. This object will usually be a javabean.
      Throws:
        `InstantiationException`
        `IllegalAccessException`

    - #### set

          void set(Object bean,
                 String field,
                 Object value)

      Sets the value of the field on a fact.
      Parameters:
        `bean` - the object on which the field will be set.
        `field` - the name of the field to set.
        `value` - the value to be set on the field.

    - #### get

          Object get(Object bean,
                   String field)

      Gets the value of the specified field on the dynamic fact.
      Parameters:
        `bean` - the fact to read the field value from.
        `field` - the name of the field to read.
      Returns:
        the value of the field read from the fact

    - #### getAsMap

          Map<String,Object> getAsMap(Object bean)

      Get a map of the fields and their values for the bean.
      Parameters:
        `bean` - the bean to read the fields from.
      Returns:
        a map of field names and corresponding values on the bean.

    - #### setFromMap

          void setFromMap(Object bean,
                        Map<String,Object> values)

      Sets the values of the bean from a map.
      Parameters:
        `bean` - the fact to set the values of the fields on
        `values` - a map of field names and values to set

    - #### getClassAnnotations

          List<Annotation> getClassAnnotations()

      Returns the list of class-level annotations used in this class definition
      Returns:
        the list of class-level annotations

    - #### getMetaData

          Map<String,Object> getMetaData()

      Returns the annotations of this class definition as key-value pairs.
      Returns:
        a key-value map of the class-level annotations

Copyright © 2001–2015 JBoss by Red Hat. All rights reserved.