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 classClassDefinition.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:
readExternalin interfaceExternalizable- Throws:
IOExceptionClassNotFoundException
-
writeExternal
public void writeExternal(ObjectOutput out) throws IOException
- Specified by:
writeExternalin 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:
getFieldin 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:
getSuperClassin 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:
getNamein interfaceorg.kie.api.definition.type.FactType
-
getSimpleName
public String getSimpleName()
- Specified by:
getSimpleNamein interfaceorg.kie.api.definition.type.FactType
-
getPackageName
public String getPackageName()
- Specified by:
getPackageNamein interfaceorg.kie.api.definition.type.FactType
-
newInstance
public Object newInstance() throws InstantiationException, IllegalAccessException
- Specified by:
newInstancein interfaceorg.kie.api.definition.type.FactType- Throws:
InstantiationExceptionIllegalAccessException
-
getFactClass
public Class<?> getFactClass()
- Specified by:
getFactClassin interfaceorg.kie.api.definition.type.FactType
-
getFields
public List<org.kie.api.definition.type.FactField> getFields()
- Specified by:
getFieldsin interfaceorg.kie.api.definition.type.FactType
-
get
public Object get(Object bean, String field)
- Specified by:
getin interfaceorg.kie.api.definition.type.FactType
-
set
public void set(Object bean, String field, Object value)
- Specified by:
setin interfaceorg.kie.api.definition.type.FactType
-
getAsMap
public Map<String,Object> getAsMap(Object bean)
- Specified by:
getAsMapin interfaceorg.kie.api.definition.type.FactType
-
setFromMap
public void setFromMap(Object bean, Map<String,Object> data)
- Specified by:
setFromMapin 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:
getClassAnnotationsin interfaceorg.kie.api.definition.type.FactType
-
getMetaData
public Map<String,Object> getMetaData()
- Specified by:
getMetaDatain 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)
-
-