/** * Copyright 2004-2016 Riccardo Solmi. All rights reserved. * This file is part of the Whole Platform. * * The Whole Platform is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * The Whole Platform is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with the Whole Platform. If not, see <http://www.gnu.org/licenses/>. */ package org.whole.lang.patterns.factories; import org.whole.lang.factories.GenericEntityFactory; import org.whole.lang.patterns.model.*; import org.whole.lang.factories.RegistryConfigurations; import org.whole.lang.factories.IEntityRegistryProvider; import org.whole.lang.patterns.reflect.PatternsEntityDescriptorEnum; import org.whole.lang.factories.IEntityBuilder; import org.whole.lang.factories.EntityBuilder; import org.whole.lang.model.IEntity; /** * @generator Whole */ public class PatternsEntityFactory extends GenericEntityFactory { public static final PatternsEntityFactory instance = instance(RegistryConfigurations.DEFAULT); public static PatternsEntityFactory instance(IEntityRegistryProvider provider) { return new PatternsEntityFactory(provider); } protected PatternsEntityFactory(IEntityRegistryProvider provider) { super(provider); } public PatternLanguage createPatternLanguage() { return create(PatternsEntityDescriptorEnum.PatternLanguage); } public PatternLanguage createPatternLanguage(URI uri, Namespace namespace, Name name, Version version, Patterns patterns, Declarations declarations) { return create(PatternsEntityDescriptorEnum.PatternLanguage, uri, namespace, name, version, patterns, declarations); } public IEntityBuilder<PatternLanguage> buildPatternLanguage() { return new EntityBuilder<PatternLanguage>(create(PatternsEntityDescriptorEnum.PatternLanguage)); } public Patterns createPatterns() { return create(PatternsEntityDescriptorEnum.Patterns); } public Patterns createPatterns(PatternOrTypeDeclaration... entities) { return create(PatternsEntityDescriptorEnum.Patterns, (IEntity[]) entities); } public Patterns createPatterns(int initialSize) { return clone(PatternsEntityDescriptorEnum.Patterns, initialSize); } public Library createLibrary() { return create(PatternsEntityDescriptorEnum.Library); } public Library createLibrary(URI uri, Namespace namespace, Name name, Version version, Declarations declarations) { return create(PatternsEntityDescriptorEnum.Library, uri, namespace, name, version, declarations); } public IEntityBuilder<Library> buildLibrary() { return new EntityBuilder<Library>(create(PatternsEntityDescriptorEnum.Library)); } public Pattern createPattern() { return create(PatternsEntityDescriptorEnum.Pattern); } public Pattern createPattern(ResultTypes resultTypes, Name name, Template template) { return create(PatternsEntityDescriptorEnum.Pattern, resultTypes, name, template); } public IEntityBuilder<Pattern> buildPattern() { return new EntityBuilder<Pattern>(create(PatternsEntityDescriptorEnum.Pattern)); } public Repetition createRepetition() { return create(PatternsEntityDescriptorEnum.Repetition); } public Repetition createRepetition(Name name, Type type, ResultTypes supertypes) { return create(PatternsEntityDescriptorEnum.Repetition, name, type, supertypes); } public IEntityBuilder<Repetition> buildRepetition() { return new EntityBuilder<Repetition>(create(PatternsEntityDescriptorEnum.Repetition)); } public Choice createChoice() { return create(PatternsEntityDescriptorEnum.Choice); } public Choice createChoice(Name name, Types types, ResultTypes supertypes) { return create(PatternsEntityDescriptorEnum.Choice, name, types, supertypes); } public IEntityBuilder<Choice> buildChoice() { return new EntityBuilder<Choice>(create(PatternsEntityDescriptorEnum.Choice)); } public Enumeration createEnumeration() { return create(PatternsEntityDescriptorEnum.Enumeration); } public Enumeration createEnumeration(Name name, Type resultType, EnumValues values, ResultTypes supertypes) { return create(PatternsEntityDescriptorEnum.Enumeration, name, resultType, values, supertypes); } public IEntityBuilder<Enumeration> buildEnumeration() { return new EntityBuilder<Enumeration>(create(PatternsEntityDescriptorEnum.Enumeration)); } public EnumValues createEnumValues() { return create(PatternsEntityDescriptorEnum.EnumValues); } public EnumValues createEnumValues(EnumValue... entities) { return create(PatternsEntityDescriptorEnum.EnumValues, (IEntity[]) entities); } public EnumValues createEnumValues(int initialSize) { return clone(PatternsEntityDescriptorEnum.EnumValues, initialSize); } public EnumValue createEnumValue() { return create(PatternsEntityDescriptorEnum.EnumValue); } public EnumValue createEnumValue(Name value, Name result) { return create(PatternsEntityDescriptorEnum.EnumValue, value, result); } public IEntityBuilder<EnumValue> buildEnumValue() { return new EntityBuilder<EnumValue>(create(PatternsEntityDescriptorEnum.EnumValue)); } public Data createData() { return create(PatternsEntityDescriptorEnum.Data); } public Data createData(ResultTypes supertypes, Name name, DataType dataType) { return create(PatternsEntityDescriptorEnum.Data, supertypes, name, dataType); } public IEntityBuilder<Data> buildData() { return new EntityBuilder<Data>(create(PatternsEntityDescriptorEnum.Data)); } public DataType createDataType() { return create(PatternsEntityDescriptorEnum.DataType); } public DataType createDataType(String value) { return create(PatternsEntityDescriptorEnum.DataType, value); } public PatternApplication createPatternApplication() { return create(PatternsEntityDescriptorEnum.PatternApplication); } public PatternApplication createPatternApplication(Name name, Arguments arguments) { return create(PatternsEntityDescriptorEnum.PatternApplication, name, arguments); } public IEntityBuilder<PatternApplication> buildPatternApplication() { return new EntityBuilder<PatternApplication>(create(PatternsEntityDescriptorEnum.PatternApplication)); } public Arguments createArguments() { return create(PatternsEntityDescriptorEnum.Arguments); } public Arguments createArguments(Argument... entities) { return create(PatternsEntityDescriptorEnum.Arguments, (IEntity[]) entities); } public Arguments createArguments(int initialSize) { return clone(PatternsEntityDescriptorEnum.Arguments, initialSize); } public Binding createBinding() { return create(PatternsEntityDescriptorEnum.Binding); } public Binding createBinding(Name name, Template template) { return create(PatternsEntityDescriptorEnum.Binding, name, template); } public IEntityBuilder<Binding> buildBinding() { return new EntityBuilder<Binding>(create(PatternsEntityDescriptorEnum.Binding)); } public VariablePoint createVariablePoint() { return create(PatternsEntityDescriptorEnum.VariablePoint); } public VariablePoint createVariablePoint(Name name, ResultType resultType) { return create(PatternsEntityDescriptorEnum.VariablePoint, name, resultType); } public IEntityBuilder<VariablePoint> buildVariablePoint() { return new EntityBuilder<VariablePoint>(create(PatternsEntityDescriptorEnum.VariablePoint)); } public FunctionPoint createFunctionPoint() { return create(PatternsEntityDescriptorEnum.FunctionPoint); } public FunctionPoint createFunctionPoint(Name name, ResultType resultType, PathExpression expression) { return create(PatternsEntityDescriptorEnum.FunctionPoint, name, resultType, expression); } public IEntityBuilder<FunctionPoint> buildFunctionPoint() { return new EntityBuilder<FunctionPoint>(create(PatternsEntityDescriptorEnum.FunctionPoint)); } public Slot createSlot() { return create(PatternsEntityDescriptorEnum.Slot); } public Slot createSlot(Name name, BooleanValue optional, PathExpression adapter, Type type, Type resultType) { return create(PatternsEntityDescriptorEnum.Slot, name, optional, adapter, type, resultType); } public IEntityBuilder<Slot> buildSlot() { return new EntityBuilder<Slot>(create(PatternsEntityDescriptorEnum.Slot)); } public ResultPoint createResultPoint() { return create(PatternsEntityDescriptorEnum.ResultPoint); } public ResultPoint createResultPoint(Type resultType, Template template, PathExpression weaver) { return create(PatternsEntityDescriptorEnum.ResultPoint, resultType, template, weaver); } public IEntityBuilder<ResultPoint> buildResultPoint() { return new EntityBuilder<ResultPoint>(create(PatternsEntityDescriptorEnum.ResultPoint)); } public JoinPoint createJoinPoint() { return create(PatternsEntityDescriptorEnum.JoinPoint); } public JoinPoint createJoinPoint(Name name, Template template) { return create(PatternsEntityDescriptorEnum.JoinPoint, name, template); } public IEntityBuilder<JoinPoint> buildJoinPoint() { return new EntityBuilder<JoinPoint>(create(PatternsEntityDescriptorEnum.JoinPoint)); } public InsertionPoint createInsertionPoint() { return create(PatternsEntityDescriptorEnum.InsertionPoint); } public InsertionPoint createInsertionPoint(Name name) { return create(PatternsEntityDescriptorEnum.InsertionPoint, name); } public ScopePoint createScopePoint() { return create(PatternsEntityDescriptorEnum.ScopePoint); } public ScopePoint createScopePoint(Declarations context, Template template) { return create(PatternsEntityDescriptorEnum.ScopePoint, context, template); } public IEntityBuilder<ScopePoint> buildScopePoint() { return new EntityBuilder<ScopePoint>(create(PatternsEntityDescriptorEnum.ScopePoint)); } public TemplatePoint createTemplatePoint() { return create(PatternsEntityDescriptorEnum.TemplatePoint); } public TemplatePoint createTemplatePoint(Template template) { return create(PatternsEntityDescriptorEnum.TemplatePoint, template); } public DerivationPoint createDerivationPoint() { return create(PatternsEntityDescriptorEnum.DerivationPoint); } public DerivationPoint createDerivationPoint(PathExpression expression, ResultType resultType) { return create(PatternsEntityDescriptorEnum.DerivationPoint, expression, resultType); } public IEntityBuilder<DerivationPoint> buildDerivationPoint() { return new EntityBuilder<DerivationPoint>(create(PatternsEntityDescriptorEnum.DerivationPoint)); } public SelectionPoint createSelectionPoint() { return create(PatternsEntityDescriptorEnum.SelectionPoint); } public SelectionPoint createSelectionPoint(ConditionPoint... entities) { return create(PatternsEntityDescriptorEnum.SelectionPoint, (IEntity[]) entities); } public SelectionPoint createSelectionPoint(int initialSize) { return clone(PatternsEntityDescriptorEnum.SelectionPoint, initialSize); } public ConditionPoint createConditionPoint() { return create(PatternsEntityDescriptorEnum.ConditionPoint); } public ConditionPoint createConditionPoint(Predicate condition, Template template) { return create(PatternsEntityDescriptorEnum.ConditionPoint, condition, template); } public IEntityBuilder<ConditionPoint> buildConditionPoint() { return new EntityBuilder<ConditionPoint>(create(PatternsEntityDescriptorEnum.ConditionPoint)); } public VariantSelectionPoint createVariantSelectionPoint() { return create(PatternsEntityDescriptorEnum.VariantSelectionPoint); } public VariantSelectionPoint createVariantSelectionPoint(Name variability, Variants variants) { return create(PatternsEntityDescriptorEnum.VariantSelectionPoint, variability, variants); } public IEntityBuilder<VariantSelectionPoint> buildVariantSelectionPoint() { return new EntityBuilder<VariantSelectionPoint>(create(PatternsEntityDescriptorEnum.VariantSelectionPoint)); } public Variants createVariants() { return create(PatternsEntityDescriptorEnum.Variants); } public Variants createVariants(Variant... entities) { return create(PatternsEntityDescriptorEnum.Variants, (IEntity[]) entities); } public Variants createVariants(int initialSize) { return clone(PatternsEntityDescriptorEnum.Variants, initialSize); } public Variant createVariant() { return create(PatternsEntityDescriptorEnum.Variant); } public Variant createVariant(Name name, Template template) { return create(PatternsEntityDescriptorEnum.Variant, name, template); } public IEntityBuilder<Variant> buildVariant() { return new EntityBuilder<Variant>(create(PatternsEntityDescriptorEnum.Variant)); } public IterationPoint createIterationPoint() { return create(PatternsEntityDescriptorEnum.IterationPoint); } public IterationPoint createIterationPoint(PathExpression iterator, Template template) { return create(PatternsEntityDescriptorEnum.IterationPoint, iterator, template); } public IEntityBuilder<IterationPoint> buildIterationPoint() { return new EntityBuilder<IterationPoint>(create(PatternsEntityDescriptorEnum.IterationPoint)); } public SequencePoint createSequencePoint() { return create(PatternsEntityDescriptorEnum.SequencePoint); } public SequencePoint createSequencePoint(Template... entities) { return create(PatternsEntityDescriptorEnum.SequencePoint, (IEntity[]) entities); } public SequencePoint createSequencePoint(int initialSize) { return clone(PatternsEntityDescriptorEnum.SequencePoint, initialSize); } public InlinePoint createInlinePoint() { return create(PatternsEntityDescriptorEnum.InlinePoint); } public InlinePoint createInlinePoint(Template template) { return create(PatternsEntityDescriptorEnum.InlinePoint, template); } public Declarations createDeclarations() { return create(PatternsEntityDescriptorEnum.Declarations); } public Declarations createDeclarations(Declaration... entities) { return create(PatternsEntityDescriptorEnum.Declarations, (IEntity[]) entities); } public Declarations createDeclarations(int initialSize) { return clone(PatternsEntityDescriptorEnum.Declarations, initialSize); } public FunctionDeclaration createFunctionDeclaration() { return create(PatternsEntityDescriptorEnum.FunctionDeclaration); } public FunctionDeclaration createFunctionDeclaration(ResultTypes applicationTypes, Name name, PathExpression body) { return create(PatternsEntityDescriptorEnum.FunctionDeclaration, applicationTypes, name, body); } public IEntityBuilder<FunctionDeclaration> buildFunctionDeclaration() { return new EntityBuilder<FunctionDeclaration>(create(PatternsEntityDescriptorEnum.FunctionDeclaration)); } public GoalDeclaration createGoalDeclaration() { return create(PatternsEntityDescriptorEnum.GoalDeclaration); } public GoalDeclaration createGoalDeclaration(GoalExpression subgoals, Name name, PathExpression body) { return create(PatternsEntityDescriptorEnum.GoalDeclaration, subgoals, name, body); } public IEntityBuilder<GoalDeclaration> buildGoalDeclaration() { return new EntityBuilder<GoalDeclaration>(create(PatternsEntityDescriptorEnum.GoalDeclaration)); } public PointcutDeclaration createPointcutDeclaration() { return create(PatternsEntityDescriptorEnum.PointcutDeclaration); } public PointcutDeclaration createPointcutDeclaration(Name name, PathExpression expression) { return create(PatternsEntityDescriptorEnum.PointcutDeclaration, name, expression); } public IEntityBuilder<PointcutDeclaration> buildPointcutDeclaration() { return new EntityBuilder<PointcutDeclaration>(create(PatternsEntityDescriptorEnum.PointcutDeclaration)); } public JoinPointDeclaration createJoinPointDeclaration() { return create(PatternsEntityDescriptorEnum.JoinPointDeclaration); } public JoinPointDeclaration createJoinPointDeclaration(Name name, PathExpression expression) { return create(PatternsEntityDescriptorEnum.JoinPointDeclaration, name, expression); } public IEntityBuilder<JoinPointDeclaration> buildJoinPointDeclaration() { return new EntityBuilder<JoinPointDeclaration>(create(PatternsEntityDescriptorEnum.JoinPointDeclaration)); } public VariableDeclaration createVariableDeclaration() { return create(PatternsEntityDescriptorEnum.VariableDeclaration); } public VariableDeclaration createVariableDeclaration(Name name, PathExpression expression, Type resultType) { return create(PatternsEntityDescriptorEnum.VariableDeclaration, name, expression, resultType); } public IEntityBuilder<VariableDeclaration> buildVariableDeclaration() { return new EntityBuilder<VariableDeclaration>(create(PatternsEntityDescriptorEnum.VariableDeclaration)); } public VariantSelector createVariantSelector() { return create(PatternsEntityDescriptorEnum.VariantSelector); } public VariantSelector createVariantSelector(Name variability, PathExpression variant) { return create(PatternsEntityDescriptorEnum.VariantSelector, variability, variant); } public IEntityBuilder<VariantSelector> buildVariantSelector() { return new EntityBuilder<VariantSelector>(create(PatternsEntityDescriptorEnum.VariantSelector)); } public Types createTypes() { return create(PatternsEntityDescriptorEnum.Types); } public Types createTypes(Type... entities) { return create(PatternsEntityDescriptorEnum.Types, (IEntity[]) entities); } public Types createTypes(int initialSize) { return clone(PatternsEntityDescriptorEnum.Types, initialSize); } public ResultTypes createResultTypes() { return create(PatternsEntityDescriptorEnum.ResultTypes); } public ResultTypes createResultTypes(ResultType... entities) { return create(PatternsEntityDescriptorEnum.ResultTypes, (IEntity[]) entities); } public ResultTypes createResultTypes(int initialSize) { return clone(PatternsEntityDescriptorEnum.ResultTypes, initialSize); } public Name createName() { return create(PatternsEntityDescriptorEnum.Name); } public Name createName(String value) { return create(PatternsEntityDescriptorEnum.Name, value); } public PatternJoinPointStep createPatternJoinPointStep() { return create(PatternsEntityDescriptorEnum.PatternJoinPointStep); } public JoinPointStep createJoinPointStep() { return create(PatternsEntityDescriptorEnum.JoinPointStep); } public JoinPointStep createJoinPointStep(String value) { return create(PatternsEntityDescriptorEnum.JoinPointStep, value); } public PointcutStep createPointcutStep() { return create(PatternsEntityDescriptorEnum.PointcutStep); } public PointcutStep createPointcutStep(String value) { return create(PatternsEntityDescriptorEnum.PointcutStep, value); } public GoalStep createGoalStep() { return create(PatternsEntityDescriptorEnum.GoalStep); } public GoalStep createGoalStep(String value) { return create(PatternsEntityDescriptorEnum.GoalStep, value); } public FunctionStep createFunctionStep() { return create(PatternsEntityDescriptorEnum.FunctionStep); } public FunctionStep createFunctionStep(String value) { return create(PatternsEntityDescriptorEnum.FunctionStep, value); } public SlotStep createSlotStep() { return create(PatternsEntityDescriptorEnum.SlotStep); } public SlotStep createSlotStep(String value) { return create(PatternsEntityDescriptorEnum.SlotStep, value); } public OuterDefinitionStep createOuterDefinitionStep() { return create(PatternsEntityDescriptorEnum.OuterDefinitionStep); } public OuterDefinitionStep createOuterDefinitionStep(String value) { return create(PatternsEntityDescriptorEnum.OuterDefinitionStep, value); } public PatternInstance createPatternInstance() { return create(PatternsEntityDescriptorEnum.PatternInstance); } public PatternInstance createPatternInstance(Name name, Arguments arguments) { return create(PatternsEntityDescriptorEnum.PatternInstance, name, arguments); } public IEntityBuilder<PatternInstance> buildPatternInstance() { return new EntityBuilder<PatternInstance>(create(PatternsEntityDescriptorEnum.PatternInstance)); } public Cut createCut() { return create(PatternsEntityDescriptorEnum.Cut); } public Cut createCut(PathExpression path) { return create(PatternsEntityDescriptorEnum.Cut, path); } public Insert createInsert() { return create(PatternsEntityDescriptorEnum.Insert); } public Insert createInsert(Placement placement, PathExpression path) { return create(PatternsEntityDescriptorEnum.Insert, placement, path); } public IEntityBuilder<Insert> buildInsert() { return new EntityBuilder<Insert>(create(PatternsEntityDescriptorEnum.Insert)); } public SlotsDefined createSlotsDefined() { return create(PatternsEntityDescriptorEnum.SlotsDefined); } public PatternTypeTest createPatternTypeTest() { return create(PatternsEntityDescriptorEnum.PatternTypeTest); } public PatternTypeTest createPatternTypeTest(String value) { return create(PatternsEntityDescriptorEnum.PatternTypeTest, value); } public Placement createPlacement() { return create(PatternsEntityDescriptorEnum.Placement); } public Placement createPlacement(PlacementEnum.Value value) { return create(PatternsEntityDescriptorEnum.Placement, value); } public URI createURI() { return create(PatternsEntityDescriptorEnum.URI); } public URI createURI(String value) { return create(PatternsEntityDescriptorEnum.URI, value); } public Namespace createNamespace() { return create(PatternsEntityDescriptorEnum.Namespace); } public Namespace createNamespace(String value) { return create(PatternsEntityDescriptorEnum.Namespace, value); } public Version createVersion() { return create(PatternsEntityDescriptorEnum.Version); } public Version createVersion(String value) { return create(PatternsEntityDescriptorEnum.Version, value); } public BooleanValue createBooleanValue() { return create(PatternsEntityDescriptorEnum.BooleanValue); } public BooleanValue createBooleanValue(boolean value) { return create(PatternsEntityDescriptorEnum.BooleanValue, value); } }