Class AbstractDefinition

    • Constructor Detail

      • AbstractDefinition

        protected AbstractDefinition​(IDefinitionIdentifier id,
                                     Class<? extends IComponent<?>> componentClass,
                                     IParameterization parameterization)
        Creates a new instance.
        Parameters:
        id - the definition identifier, cannot be null.
        componentClass - the class of the component, can be null.
        parameterization - the parameterization, can be null.
      • AbstractDefinition

        protected AbstractDefinition​(IDefinitionIdentifier id,
                                     Class<? extends IComponent<?>> componentClass)
        Creates a new instance with void parameterization.
        Parameters:
        id - the definition identifier, can be null.
        componentClass - the class of the component, can be null.
    • Method Detail

      • getConstructor

        public static Constructor<?> getConstructor​(Class<? extends IComponent<?>> classCandidate,
                                                    IParameterization parameterizationCandidate,
                                                    boolean logWarnings)
        For a IComponent class, returns a suitable constructor taking a given parameterization as the single argument. If no such constructor exists, null is returned.
        Parameters:
        classCandidate - Class to look the constructor for
        parameterizationCandidate - Parameterization for which the constructor will be searched
        logWarnings - If true, a warning will be logged in case no constructor was found
        Returns:
        Constructor or null
      • getComponentClass

        public Class<? extends IComponent<?>> getComponentClass()
        Description copied from interface: IDefinition
        Returns the class of the component that was created using this definition last time.
        Specified by:
        getComponentClass in interface IDefinition
        Returns:
        the class of the AEF component created by this definition last time, may be null if the component was never created.
      • getLayoutData

        public IAefLayoutData getLayoutData()
        Description copied from interface: IDefinition
        Returns the layout data object that is expected to be applied to the component created by this definition.
        Specified by:
        getLayoutData in interface IDefinition
        Returns:
        the layout data, may be null.
      • getParent

        public IDefinition getParent()
        Description copied from interface: IDefinition
        Returns the parent definition.
        Specified by:
        getParent in interface IDefinition
        Returns:
        the parent definition, may be null if the definition has no parent.
      • getId

        public final IDefinitionIdentifier getId()
        Description copied from interface: IDefinition
        Returns the identifier of this definition.
        Specified by:
        getId in interface IDefinition
        Returns:
        the identifier of the definition, may be null.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • setParent

        public void setParent​(IDefinition parent)
        Sets the parent definition.
        Parameters:
        parent - the parent definition to set
      • setLayoutData

        public void setLayoutData​(IAefLayoutData layoutData)
        Sets the layout data object.
        Parameters:
        layoutData - the layout data.
      • setModelFactory

        public void setModelFactory​(IModelFactory modelFactory)
        Sets the model factory.
        Parameters:
        modelFactory - the model factory instance. Cannot be null.
      • setComponentClass

        public void setComponentClass​(Class<? extends IComponent<?>> componentClass)
        Sets the class of the component.

        Note that if a direct component factory is set, the class set by this method will be ignored during component creation.

        Parameters:
        componentClass - the class of the component.
      • setParameterization

        public void setParameterization​(IParameterization parameterization)
        Sets the parameterization of the component.

        Note that if a direct component factory is set, the parameterization set by this method will be ignored during component creation.

        Parameters:
        parameterization - the parameterization to set.
      • setComponentFactory

        public void setComponentFactory​(IComponentFactory factory)
        Sets the component factory which will be directly used in component creation.

        Note that if this method was called, the component class and parameterization info will not be used.

        Parameters:
        factory - the component factory to set
      • createComponent

        public IComponent<IModel> createComponent​(Object[] objects)
        Description copied from interface: IComponentFactory
        Creates a component with the specified EObjects as input.
        Specified by:
        createComponent in interface IComponentFactory
        Parameters:
        objects - the EObjects comprising the input of the definition, may be null
        Returns:
        a component, never null