Class AbstractDefinition
- java.lang.Object
-
- com._1c.g5.aef2.standard.definitions.AbstractDefinition
-
- All Implemented Interfaces:
IComponentFactory,IDefinition
- Direct Known Subclasses:
ContainerDefinition,LabeledDefinition,SeparatorDefinition
public abstract class AbstractDefinition extends Object implements IDefinition
The basic class of the definition.
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractDefinition(IDefinitionIdentifier id, Class<? extends IComponent<?>> componentClass)Creates a new instance with void parameterization.protectedAbstractDefinition(IDefinitionIdentifier id, Class<? extends IComponent<?>> componentClass, IParameterization parameterization)Creates a new instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description IComponent<IModel>createComponent(Object[] objects)Creates a component with the specified EObjects as input.booleanequals(Object obj)Class<? extends IComponent<?>>getComponentClass()Returns the class of the component that was created using this definition last time.static Constructor<?>getConstructor(Class<? extends IComponent<?>> classCandidate, IParameterization parameterizationCandidate, boolean logWarnings)For aIComponentclass, returns a suitable constructor taking a given parameterization as the single argument.IDefinitionIdentifiergetId()Returns the identifier of this definition.IAefLayoutDatagetLayoutData()Returns the layout data object that is expected to be applied to the component created by this definition.IParameterizationgetParametrization()Returns parameterization for component.IDefinitiongetParent()Returns the parent definition.inthashCode()voidsetComponentClass(Class<? extends IComponent<?>> componentClass)Sets the class of the component.voidsetComponentFactory(IComponentFactory factory)Sets the component factory which will be directly used in component creation.voidsetLayoutData(IAefLayoutData layoutData)Sets the layout data object.voidsetModelFactory(IModelFactory modelFactory)Sets the model factory.voidsetParameterization(IParameterization parameterization)Sets the parameterization of the component.voidsetParent(IDefinition parent)Sets the parent definition.
-
-
-
Constructor Detail
-
AbstractDefinition
protected AbstractDefinition(IDefinitionIdentifier id, Class<? extends IComponent<?>> componentClass, IParameterization parameterization)
Creates a new instance.- Parameters:
id- the definition identifier, cannot benull.componentClass- the class of the component, can benull.parameterization- the parameterization, can benull.
-
AbstractDefinition
protected AbstractDefinition(IDefinitionIdentifier id, Class<? extends IComponent<?>> componentClass)
Creates a new instance with void parameterization.- Parameters:
id- the definition identifier, can benull.componentClass- the class of the component, can benull.
-
-
Method Detail
-
getConstructor
public static Constructor<?> getConstructor(Class<? extends IComponent<?>> classCandidate, IParameterization parameterizationCandidate, boolean logWarnings)
For aIComponentclass, returns a suitable constructor taking a given parameterization as the single argument. If no such constructor exists,nullis returned.- Parameters:
classCandidate- Class to look the constructor forparameterizationCandidate- Parameterization for which the constructor will be searchedlogWarnings- Iftrue, 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:IDefinitionReturns the class of the component that was created using this definition last time.- Specified by:
getComponentClassin interfaceIDefinition- Returns:
- the class of the AEF component created by this definition last time, may be
nullif the component was never created.
-
getLayoutData
public IAefLayoutData getLayoutData()
Description copied from interface:IDefinitionReturns the layout data object that is expected to be applied to the component created by this definition.- Specified by:
getLayoutDatain interfaceIDefinition- Returns:
- the layout data, may be
null.
-
getParent
public IDefinition getParent()
Description copied from interface:IDefinitionReturns the parent definition.- Specified by:
getParentin interfaceIDefinition- Returns:
- the parent definition, may be
nullif the definition has no parent.
-
getParametrization
public IParameterization getParametrization()
Description copied from interface:IDefinitionReturns parameterization for component.- Specified by:
getParametrizationin interfaceIDefinition- Returns:
- the parameterization, may be
null.
-
getId
public final IDefinitionIdentifier getId()
Description copied from interface:IDefinitionReturns the identifier of this definition.- Specified by:
getIdin interfaceIDefinition- Returns:
- the identifier of the definition, may be
null.
-
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 benull.
-
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:IComponentFactoryCreates a component with the specified EObjects as input.- Specified by:
createComponentin interfaceIComponentFactory- Parameters:
objects- the EObjects comprising the input of the definition, may benull- Returns:
- a component, never
null
-
-