Package org.drools.base.factmodel
Class ClassDefinition
- java.lang.Object
-
- org.drools.base.factmodel.ClassDefinition
-
- All Implemented Interfaces:
java.io.Externalizable,java.io.Serializable,org.kie.api.definition.type.FactType
public class ClassDefinition extends java.lang.Object implements org.kie.api.definition.type.FactTypeDeclares 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 java.util.LinkedHashMap<java.lang.String,FieldDefinition>fields
-
Constructor Summary
Constructors Constructor Description ClassDefinition()ClassDefinition(java.lang.Class<?> cls)ClassDefinition(java.lang.String className)ClassDefinition(java.lang.String className, java.lang.String superClass, java.lang.String[] interfaces)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAnnotation(AnnotationDefinition annotationDefinition)voidaddField(FieldDefinition attr)Adds a field definition to this classvoidaddInterface(java.lang.String interfaze)voidaddMetaData(java.lang.String key, java.lang.Object value)voidaddModifiedPropsByMethod(java.lang.reflect.Method method, java.util.List<java.lang.String> props)java.lang.Objectget(java.lang.Object bean, java.lang.String field)AnnotationDefinitiongetAnnotation(java.lang.Class<?> annotationClass)java.util.Collection<AnnotationDefinition>getAnnotations()java.util.Map<java.lang.String,java.lang.Object>getAsMap(java.lang.Object bean)java.util.List<org.kie.api.definition.type.Annotation>getClassAnnotations()java.lang.StringgetClassName()java.lang.Class<?>getDefinedClass()java.lang.Class<?>getFactClass()FieldDefinitiongetField(int index)Returns the field at position index, as defined by the builder using the @position annotationFieldDefinitiongetField(java.lang.String fieldName)Returns the field definition object for the given field nameFieldDefinitiongetFieldByAlias(java.lang.String alias)java.util.List<org.kie.api.definition.type.FactField>getFields()java.util.Collection<FieldDefinition>getFieldsDefinitions()java.lang.String[]getInterfaces()java.util.Map<java.lang.String,java.lang.Object>getMetaData()java.lang.ObjectgetMetaData(java.lang.String name)java.util.List<java.lang.String>getModifiedPropsByMethod(java.lang.reflect.Method method)java.util.List<java.lang.String>getModifiedPropsByMethod(java.lang.String methodName, int args)java.lang.StringgetName()java.lang.StringgetPackageName()java.lang.StringgetSimpleName()java.lang.StringgetSuperClass()booleanisAbstrakt()booleanisFullTraiting()booleanisReactive()booleanisTraitable()static java.lang.StringmodifiedPropsByMethodKey(java.lang.reflect.Method method)java.lang.ObjectnewInstance()voidreadExternal(java.io.ObjectInput in)voidset(java.lang.Object bean, java.lang.String field, java.lang.Object value)voidsetAbstrakt(boolean abstrakt)voidsetClassName(java.lang.String className)voidsetDefinedClass(java.lang.Class<?> definedClass)voidsetFromMap(java.lang.Object bean, java.util.Map<java.lang.String,java.lang.Object> data)voidsetInterfaces(java.lang.String[] interfaces)voidsetSuperClass(java.lang.String superClass)voidsetTraitable(boolean traitable)voidsetTraitable(boolean traitable, boolean enableLogical)java.lang.StringtoString()voidwriteExternal(java.io.ObjectOutput out)
-
-
-
Field Detail
-
fields
protected java.util.LinkedHashMap<java.lang.String,FieldDefinition> fields
-
-
Constructor Detail
-
ClassDefinition
public ClassDefinition()
-
ClassDefinition
public ClassDefinition(java.lang.String className)
-
ClassDefinition
public ClassDefinition(java.lang.String className, java.lang.String superClass, java.lang.String[] interfaces)
-
ClassDefinition
public ClassDefinition(java.lang.Class<?> cls)
-
-
Method Detail
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException- Specified by:
readExternalin interfacejava.io.Externalizable- Throws:
java.io.IOExceptionjava.lang.ClassNotFoundException
-
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException- Specified by:
writeExternalin interfacejava.io.Externalizable- Throws:
java.io.IOException
-
getClassName
public final java.lang.String getClassName()
- Returns:
- Returns the name.
-
setClassName
public final void setClassName(java.lang.String className)
- Parameters:
className- The name to set.
-
getDefinedClass
public final java.lang.Class<?> getDefinedClass()
- Returns:
- Returns the className.
-
setDefinedClass
public void setDefinedClass(java.lang.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 java.util.Collection<FieldDefinition> getFieldsDefinitions()
- Returns:
- Returns an unmodifiable collection of field definitions
-
getField
public FieldDefinition getField(java.lang.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(java.lang.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 java.lang.String[] getInterfaces()
- Returns:
- Returns the interfaces.
-
setInterfaces
public final void setInterfaces(java.lang.String[] interfaces)
- Parameters:
interfaces- The interfaces to set.
-
addInterface
public final void addInterface(java.lang.String interfaze)
-
getSuperClass
public final java.lang.String getSuperClass()
- Specified by:
getSuperClassin interfaceorg.kie.api.definition.type.FactType- Returns:
- Returns the superClass.
-
setSuperClass
public final void setSuperClass(java.lang.String superClass)
- Parameters:
superClass- The superClass to set.
-
getName
public java.lang.String getName()
- Specified by:
getNamein interfaceorg.kie.api.definition.type.FactType
-
getSimpleName
public java.lang.String getSimpleName()
- Specified by:
getSimpleNamein interfaceorg.kie.api.definition.type.FactType
-
getPackageName
public java.lang.String getPackageName()
- Specified by:
getPackageNamein interfaceorg.kie.api.definition.type.FactType
-
newInstance
public java.lang.Object newInstance() throws java.lang.InstantiationException, java.lang.IllegalAccessException- Specified by:
newInstancein interfaceorg.kie.api.definition.type.FactType- Throws:
java.lang.InstantiationExceptionjava.lang.IllegalAccessException
-
getFactClass
public java.lang.Class<?> getFactClass()
- Specified by:
getFactClassin interfaceorg.kie.api.definition.type.FactType
-
getFields
public java.util.List<org.kie.api.definition.type.FactField> getFields()
- Specified by:
getFieldsin interfaceorg.kie.api.definition.type.FactType
-
get
public java.lang.Object get(java.lang.Object bean, java.lang.String field)- Specified by:
getin interfaceorg.kie.api.definition.type.FactType
-
set
public void set(java.lang.Object bean, java.lang.String field, java.lang.Object value)- Specified by:
setin interfaceorg.kie.api.definition.type.FactType
-
getAsMap
public java.util.Map<java.lang.String,java.lang.Object> getAsMap(java.lang.Object bean)
- Specified by:
getAsMapin interfaceorg.kie.api.definition.type.FactType
-
setFromMap
public void setFromMap(java.lang.Object bean, java.util.Map<java.lang.String,java.lang.Object> data)- Specified by:
setFromMapin interfaceorg.kie.api.definition.type.FactType
-
addAnnotation
public void addAnnotation(AnnotationDefinition annotationDefinition)
-
getAnnotations
public java.util.Collection<AnnotationDefinition> getAnnotations()
-
getAnnotation
public AnnotationDefinition getAnnotation(java.lang.Class<?> annotationClass)
-
getClassAnnotations
public java.util.List<org.kie.api.definition.type.Annotation> getClassAnnotations()
- Specified by:
getClassAnnotationsin interfaceorg.kie.api.definition.type.FactType
-
getMetaData
public java.util.Map<java.lang.String,java.lang.Object> getMetaData()
- Specified by:
getMetaDatain interfaceorg.kie.api.definition.type.FactType
-
getMetaData
public java.lang.Object getMetaData(java.lang.String name)
-
addMetaData
public void addMetaData(java.lang.String key, java.lang.Object value)
-
addModifiedPropsByMethod
public void addModifiedPropsByMethod(java.lang.reflect.Method method, java.util.List<java.lang.String> props)
-
getModifiedPropsByMethod
public java.util.List<java.lang.String> getModifiedPropsByMethod(java.lang.reflect.Method method)
-
getModifiedPropsByMethod
public java.util.List<java.lang.String> getModifiedPropsByMethod(java.lang.String methodName, int args)
-
modifiedPropsByMethodKey
public static java.lang.String modifiedPropsByMethodKey(java.lang.reflect.Method method)
-
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)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-