Package org.drools.core.factmodel
Class ClassDefinition
- java.lang.Object
-
- org.drools.core.factmodel.ClassDefinition
-
- All Implemented Interfaces:
Externalizable
,Serializable
,org.kie.api.definition.type.FactType
- Direct Known Subclasses:
EnumClassDefinition
public class ClassDefinition extends Object implements org.kie.api.definition.type.FactType
Declares a class to be dynamically created- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ClassDefinition.TRAITING_MODE
-
Field Summary
Fields Modifier and Type Field Description protected LinkedHashMap<String,FieldDefinition>
fields
-
Constructor Summary
Constructors Constructor Description ClassDefinition()
ClassDefinition(Class<?> cls)
ClassDefinition(String className)
ClassDefinition(String className, String superClass, String[] interfaces)
-
Method Summary
-
-
-
Field Detail
-
fields
protected LinkedHashMap<String,FieldDefinition> fields
-
-
Method Detail
-
readExternal
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
- Specified by:
readExternal
in interfaceExternalizable
- Throws:
IOException
ClassNotFoundException
-
writeExternal
public void writeExternal(ObjectOutput out) throws IOException
- Specified by:
writeExternal
in interfaceExternalizable
- Throws:
IOException
-
getClassName
public final String getClassName()
- Returns:
- Returns the name.
-
setClassName
public final void setClassName(String className)
- Parameters:
className
- The name to set.
-
getDefinedClass
public final Class<?> getDefinedClass()
- Returns:
- Returns the className.
-
setDefinedClass
public void setDefinedClass(Class<?> definedClass)
- Parameters:
definedClass
- The class to set.
-
addField
public final void addField(FieldDefinition attr)
Adds a field definition to this class- Parameters:
attr
-
-
getFieldsDefinitions
public final Collection<FieldDefinition> getFieldsDefinitions()
- Returns:
- Returns an unmodifiable collection of field definitions
-
getField
public FieldDefinition getField(String fieldName)
Returns the field definition object for the given field name- Specified by:
getField
in interfaceorg.kie.api.definition.type.FactType
- Parameters:
fieldName
-- Returns:
-
getFieldByAlias
public FieldDefinition getFieldByAlias(String alias)
-
getField
public FieldDefinition getField(int index)
Returns the field at position index, as defined by the builder using the @position annotation- Parameters:
index
-- Returns:
- the index-th field
-
getInterfaces
public final String[] getInterfaces()
- Returns:
- Returns the interfaces.
-
setInterfaces
public final void setInterfaces(String[] interfaces)
- Parameters:
interfaces
- The interfaces to set.
-
addInterface
public final void addInterface(String interfaze)
-
getSuperClass
public final String getSuperClass()
- Specified by:
getSuperClass
in interfaceorg.kie.api.definition.type.FactType
- Returns:
- Returns the superClass.
-
setSuperClass
public final void setSuperClass(String superClass)
- Parameters:
superClass
- The superClass to set.
-
getName
public String getName()
- Specified by:
getName
in interfaceorg.kie.api.definition.type.FactType
-
getSimpleName
public String getSimpleName()
- Specified by:
getSimpleName
in interfaceorg.kie.api.definition.type.FactType
-
getPackageName
public String getPackageName()
- Specified by:
getPackageName
in interfaceorg.kie.api.definition.type.FactType
-
newInstance
public Object newInstance() throws InstantiationException, IllegalAccessException
- Specified by:
newInstance
in interfaceorg.kie.api.definition.type.FactType
- Throws:
InstantiationException
IllegalAccessException
-
getFactClass
public Class<?> getFactClass()
- Specified by:
getFactClass
in interfaceorg.kie.api.definition.type.FactType
-
getFields
public List<org.kie.api.definition.type.FactField> getFields()
- Specified by:
getFields
in interfaceorg.kie.api.definition.type.FactType
-
get
public Object get(Object bean, String field)
- Specified by:
get
in interfaceorg.kie.api.definition.type.FactType
-
set
public void set(Object bean, String field, Object value)
- Specified by:
set
in interfaceorg.kie.api.definition.type.FactType
-
getAsMap
public Map<String,Object> getAsMap(Object bean)
- Specified by:
getAsMap
in interfaceorg.kie.api.definition.type.FactType
-
setFromMap
public void setFromMap(Object bean, Map<String,Object> data)
- Specified by:
setFromMap
in interfaceorg.kie.api.definition.type.FactType
-
addAnnotation
public void addAnnotation(AnnotationDefinition annotationDefinition)
-
getAnnotations
public Collection<AnnotationDefinition> getAnnotations()
-
getAnnotation
public AnnotationDefinition getAnnotation(Class<?> annotationClass)
-
getClassAnnotations
public List<org.kie.api.definition.type.Annotation> getClassAnnotations()
- Specified by:
getClassAnnotations
in interfaceorg.kie.api.definition.type.FactType
-
getMetaData
public Map<String,Object> getMetaData()
- Specified by:
getMetaData
in interfaceorg.kie.api.definition.type.FactType
-
isReactive
public boolean isReactive()
-
isTraitable
public boolean isTraitable()
-
setTraitable
public void setTraitable(boolean traitable)
-
setTraitable
public void setTraitable(boolean traitable, boolean enableLogical)
-
isFullTraiting
public boolean isFullTraiting()
-
isAbstrakt
public boolean isAbstrakt()
-
setAbstrakt
public void setAbstrakt(boolean abstrakt)
-
-