Class 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.FactType
    Declares a class to be dynamically created
    See Also:
    Serialized Form
    • 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:
        readExternal in interface java.io.Externalizable
        Throws:
        java.io.IOException
        java.lang.ClassNotFoundException
      • writeExternal

        public void writeExternal​(java.io.ObjectOutput out)
                           throws java.io.IOException
        Specified by:
        writeExternal in interface java.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:
        getField in interface org.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:
        getSuperClass in interface org.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:
        getName in interface org.kie.api.definition.type.FactType
      • getSimpleName

        public java.lang.String getSimpleName()
        Specified by:
        getSimpleName in interface org.kie.api.definition.type.FactType
      • getPackageName

        public java.lang.String getPackageName()
        Specified by:
        getPackageName in interface org.kie.api.definition.type.FactType
      • newInstance

        public java.lang.Object newInstance()
                                     throws java.lang.InstantiationException,
                                            java.lang.IllegalAccessException
        Specified by:
        newInstance in interface org.kie.api.definition.type.FactType
        Throws:
        java.lang.InstantiationException
        java.lang.IllegalAccessException
      • getFactClass

        public java.lang.Class<?> getFactClass()
        Specified by:
        getFactClass in interface org.kie.api.definition.type.FactType
      • getFields

        public java.util.List<org.kie.api.definition.type.FactField> getFields()
        Specified by:
        getFields in interface org.kie.api.definition.type.FactType
      • get

        public java.lang.Object get​(java.lang.Object bean,
                                    java.lang.String field)
        Specified by:
        get in interface org.kie.api.definition.type.FactType
      • set

        public void set​(java.lang.Object bean,
                        java.lang.String field,
                        java.lang.Object value)
        Specified by:
        set in interface org.kie.api.definition.type.FactType
      • getAsMap

        public java.util.Map<java.lang.String,​java.lang.Object> getAsMap​(java.lang.Object bean)
        Specified by:
        getAsMap in interface org.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:
        setFromMap in interface org.kie.api.definition.type.FactType
      • getClassAnnotations

        public java.util.List<org.kie.api.definition.type.Annotation> getClassAnnotations()
        Specified by:
        getClassAnnotations in interface org.kie.api.definition.type.FactType
      • getMetaData

        public java.util.Map<java.lang.String,​java.lang.Object> getMetaData()
        Specified by:
        getMetaData in interface org.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:
        toString in class java.lang.Object