org.drools.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
 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.
 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
 String getName()
          Returns the name of the FactType.
 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.

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:
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


Copyright © 2001-2011 JBoss by Red Hat. All Rights Reserved.