/**
* 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.semantics.factories;
import org.whole.lang.factories.GenericEntityFactory;
import org.whole.lang.semantics.model.*;
import org.whole.lang.factories.RegistryConfigurations;
import org.whole.lang.factories.IEntityRegistryProvider;
import org.whole.lang.semantics.reflect.SemanticsEntityDescriptorEnum;
import org.whole.lang.factories.IEntityBuilder;
import org.whole.lang.factories.EntityBuilder;
import org.whole.lang.model.IEntity;
/**
* @generator Whole
*/
public class SemanticsEntityFactory extends GenericEntityFactory {
public static final SemanticsEntityFactory instance = instance(RegistryConfigurations.DEFAULT);
public static SemanticsEntityFactory instance(IEntityRegistryProvider provider) {
return new SemanticsEntityFactory(provider);
}
protected SemanticsEntityFactory(IEntityRegistryProvider provider) {
super(provider);
}
public SemanticTheory createSemanticTheory() {
return create(SemanticsEntityDescriptorEnum.SemanticTheory);
}
public SemanticTheory createSemanticTheory(URI uri, Namespace namespace, Name name, Version version, SemanticFunctions functions) {
return create(SemanticsEntityDescriptorEnum.SemanticTheory, uri, namespace, name, version, functions);
}
public IEntityBuilder<SemanticTheory> buildSemanticTheory() {
return new EntityBuilder<SemanticTheory>(create(SemanticsEntityDescriptorEnum.SemanticTheory));
}
public SemanticFunctions createSemanticFunctions() {
return create(SemanticsEntityDescriptorEnum.SemanticFunctions);
}
public SemanticFunctions createSemanticFunctions(SemanticFunction... entities) {
return create(SemanticsEntityDescriptorEnum.SemanticFunctions, (IEntity[]) entities);
}
public SemanticFunctions createSemanticFunctions(int initialSize) {
return clone(SemanticsEntityDescriptorEnum.SemanticFunctions, initialSize);
}
public SemanticFunction createSemanticFunction() {
return create(SemanticsEntityDescriptorEnum.SemanticFunction);
}
public SemanticFunction createSemanticFunction(Name name, FunctionType signature, FunctionBody rules) {
return create(SemanticsEntityDescriptorEnum.SemanticFunction, name, signature, rules);
}
public IEntityBuilder<SemanticFunction> buildSemanticFunction() {
return new EntityBuilder<SemanticFunction>(create(SemanticsEntityDescriptorEnum.SemanticFunction));
}
public Rules createRules() {
return create(SemanticsEntityDescriptorEnum.Rules);
}
public Rules createRules(Rule... entities) {
return create(SemanticsEntityDescriptorEnum.Rules, (IEntity[]) entities);
}
public Rules createRules(int initialSize) {
return clone(SemanticsEntityDescriptorEnum.Rules, initialSize);
}
public InferenceRules createInferenceRules() {
return create(SemanticsEntityDescriptorEnum.InferenceRules);
}
public InferenceRules createInferenceRules(InferenceRule... entities) {
return create(SemanticsEntityDescriptorEnum.InferenceRules, (IEntity[]) entities);
}
public InferenceRules createInferenceRules(int initialSize) {
return clone(SemanticsEntityDescriptorEnum.InferenceRules, initialSize);
}
public AnyType createAnyType() {
return create(SemanticsEntityDescriptorEnum.AnyType);
}
public LanguageType createLanguageType() {
return create(SemanticsEntityDescriptorEnum.LanguageType);
}
public LanguageType createLanguageType(String value) {
return create(SemanticsEntityDescriptorEnum.LanguageType, value);
}
public EnvType createEnvType() {
return create(SemanticsEntityDescriptorEnum.EnvType);
}
public EntityType createEntityType() {
return create(SemanticsEntityDescriptorEnum.EntityType);
}
public EntityType createEntityType(String value) {
return create(SemanticsEntityDescriptorEnum.EntityType, value);
}
public EnvironmentType createEnvironmentType() {
return create(SemanticsEntityDescriptorEnum.EnvironmentType);
}
public EnvironmentType createEnvironmentType(String value) {
return create(SemanticsEntityDescriptorEnum.EnvironmentType, value);
}
public LegacyType createLegacyType() {
return create(SemanticsEntityDescriptorEnum.LegacyType);
}
public LegacyType createLegacyType(LegacyTypeEnum.Value value) {
return create(SemanticsEntityDescriptorEnum.LegacyType, value);
}
public UnionType createUnionType() {
return create(SemanticsEntityDescriptorEnum.UnionType);
}
public UnionType createUnionType(Category... entities) {
return create(SemanticsEntityDescriptorEnum.UnionType, (IEntity[]) entities);
}
public UnionType createUnionType(int initialSize) {
return clone(SemanticsEntityDescriptorEnum.UnionType, initialSize);
}
public FunctionType createFunctionType() {
return create(SemanticsEntityDescriptorEnum.FunctionType);
}
public FunctionType createFunctionType(SignatureOrSequence source, SignatureOrSequence target) {
return create(SemanticsEntityDescriptorEnum.FunctionType, source, target);
}
public IEntityBuilder<FunctionType> buildFunctionType() {
return new EntityBuilder<FunctionType>(create(SemanticsEntityDescriptorEnum.FunctionType));
}
public SequenceType createSequenceType() {
return create(SemanticsEntityDescriptorEnum.SequenceType);
}
public SequenceType createSequenceType(Signature signature) {
return create(SemanticsEntityDescriptorEnum.SequenceType, signature);
}
public SubtypeType createSubtypeType() {
return create(SemanticsEntityDescriptorEnum.SubtypeType);
}
public SubtypeType createSubtypeType(EntityType category) {
return create(SemanticsEntityDescriptorEnum.SubtypeType, category);
}
public SupertypeType createSupertypeType() {
return create(SemanticsEntityDescriptorEnum.SupertypeType);
}
public SupertypeType createSupertypeType(Category category) {
return create(SemanticsEntityDescriptorEnum.SupertypeType, category);
}
public ProductType createProductType() {
return create(SemanticsEntityDescriptorEnum.ProductType);
}
public ProductType createProductType(Signature... entities) {
return create(SemanticsEntityDescriptorEnum.ProductType, (IEntity[]) entities);
}
public ProductType createProductType(int initialSize) {
return clone(SemanticsEntityDescriptorEnum.ProductType, initialSize);
}
public ExecutionRule createExecutionRule() {
return create(SemanticsEntityDescriptorEnum.ExecutionRule);
}
public ExecutionRule createExecutionRule(Name name, Predicate condition, Expression meaning) {
return create(SemanticsEntityDescriptorEnum.ExecutionRule, name, condition, meaning);
}
public IEntityBuilder<ExecutionRule> buildExecutionRule() {
return new EntityBuilder<ExecutionRule>(create(SemanticsEntityDescriptorEnum.ExecutionRule));
}
public InferenceRule createInferenceRule() {
return create(SemanticsEntityDescriptorEnum.InferenceRule);
}
public InferenceRule createInferenceRule(RuleName name, Premises premises, Transition conclusion, Predicate condition) {
return create(SemanticsEntityDescriptorEnum.InferenceRule, name, premises, conclusion, condition);
}
public IEntityBuilder<InferenceRule> buildInferenceRule() {
return new EntityBuilder<InferenceRule>(create(SemanticsEntityDescriptorEnum.InferenceRule));
}
public Premises createPremises() {
return create(SemanticsEntityDescriptorEnum.Premises);
}
public Premises createPremises(Premise... entities) {
return create(SemanticsEntityDescriptorEnum.Premises, (IEntity[]) entities);
}
public Premises createPremises(int initialSize) {
return clone(SemanticsEntityDescriptorEnum.Premises, initialSize);
}
public Transition createTransition() {
return create(SemanticsEntityDescriptorEnum.Transition);
}
public Transition createTransition(Configuration sourceConfiguration, ConfigurationOrTransition targetConfiguration) {
return create(SemanticsEntityDescriptorEnum.Transition, sourceConfiguration, targetConfiguration);
}
public IEntityBuilder<Transition> buildTransition() {
return new EntityBuilder<Transition>(create(SemanticsEntityDescriptorEnum.Transition));
}
public Configuration createConfiguration() {
return create(SemanticsEntityDescriptorEnum.Configuration);
}
public Configuration createConfiguration(ConfigurationItem... entities) {
return create(SemanticsEntityDescriptorEnum.Configuration, (IEntity[]) entities);
}
public Configuration createConfiguration(int initialSize) {
return clone(SemanticsEntityDescriptorEnum.Configuration, initialSize);
}
public TypedVariable createTypedVariable() {
return create(SemanticsEntityDescriptorEnum.TypedVariable);
}
public TypedVariable createTypedVariable(Variable variable, Num index, Num time, Signature signature) {
return create(SemanticsEntityDescriptorEnum.TypedVariable, variable, index, time, signature);
}
public IEntityBuilder<TypedVariable> buildTypedVariable() {
return new EntityBuilder<TypedVariable>(create(SemanticsEntityDescriptorEnum.TypedVariable));
}
public StructuredVariable createStructuredVariable() {
return create(SemanticsEntityDescriptorEnum.StructuredVariable);
}
public StructuredVariable createStructuredVariable(Variable variable, Num index, Num time) {
return create(SemanticsEntityDescriptorEnum.StructuredVariable, variable, index, time);
}
public IEntityBuilder<StructuredVariable> buildStructuredVariable() {
return new EntityBuilder<StructuredVariable>(create(SemanticsEntityDescriptorEnum.StructuredVariable));
}
public Variable createVariable() {
return create(SemanticsEntityDescriptorEnum.Variable);
}
public Variable createVariable(String value) {
return create(SemanticsEntityDescriptorEnum.Variable, value);
}
public VariableValue createVariableValue() {
return create(SemanticsEntityDescriptorEnum.VariableValue);
}
public VariableValue createVariableValue(Identifier identifier) {
return create(SemanticsEntityDescriptorEnum.VariableValue, identifier);
}
public RenameGroup createRenameGroup() {
return create(SemanticsEntityDescriptorEnum.RenameGroup);
}
public RenameGroup createRenameGroup(Rename... entities) {
return create(SemanticsEntityDescriptorEnum.RenameGroup, (IEntity[]) entities);
}
public RenameGroup createRenameGroup(int initialSize) {
return clone(SemanticsEntityDescriptorEnum.RenameGroup, initialSize);
}
public Rename createRename() {
return create(SemanticsEntityDescriptorEnum.Rename);
}
public Rename createRename(LocalIdentifier newIdentifier, LocalIdentifier oldIdentifier) {
return create(SemanticsEntityDescriptorEnum.Rename, newIdentifier, oldIdentifier);
}
public IEntityBuilder<Rename> buildRename() {
return new EntityBuilder<Rename>(create(SemanticsEntityDescriptorEnum.Rename));
}
public Environments createEnvironments() {
return create(SemanticsEntityDescriptorEnum.Environments);
}
public Environments createEnvironments(Environment... entities) {
return create(SemanticsEntityDescriptorEnum.Environments, (IEntity[]) entities);
}
public Environments createEnvironments(int initialSize) {
return clone(SemanticsEntityDescriptorEnum.Environments, initialSize);
}
public BindingsScope createBindingsScope() {
return create(SemanticsEntityDescriptorEnum.BindingsScope);
}
public BindingsScope createBindingsScope(LocalIdentifier identifier, LocalBindings bindings, BindingsScope nestedScope) {
return create(SemanticsEntityDescriptorEnum.BindingsScope, identifier, bindings, nestedScope);
}
public IEntityBuilder<BindingsScope> buildBindingsScope() {
return new EntityBuilder<BindingsScope>(create(SemanticsEntityDescriptorEnum.BindingsScope));
}
public LocalBindings createLocalBindings() {
return create(SemanticsEntityDescriptorEnum.LocalBindings);
}
public LocalBindings createLocalBindings(LocalBinding... entities) {
return create(SemanticsEntityDescriptorEnum.LocalBindings, (IEntity[]) entities);
}
public LocalBindings createLocalBindings(int initialSize) {
return clone(SemanticsEntityDescriptorEnum.LocalBindings, initialSize);
}
public LocalBinding createLocalBinding() {
return create(SemanticsEntityDescriptorEnum.LocalBinding);
}
public LocalBinding createLocalBinding(BindingOp op, LocalIdentifier identifier, Expression expression) {
return create(SemanticsEntityDescriptorEnum.LocalBinding, op, identifier, expression);
}
public IEntityBuilder<LocalBinding> buildLocalBinding() {
return new EntityBuilder<LocalBinding>(create(SemanticsEntityDescriptorEnum.LocalBinding));
}
public BindingOp createBindingOp() {
return create(SemanticsEntityDescriptorEnum.BindingOp);
}
public BindingOp createBindingOp(BindingOpEnum.Value value) {
return create(SemanticsEntityDescriptorEnum.BindingOp, value);
}
public EnvironmentVariable createEnvironmentVariable() {
return create(SemanticsEntityDescriptorEnum.EnvironmentVariable);
}
public EnvironmentVariable createEnvironmentVariable(LocalIdentifier environment, LocalIdentifier variable) {
return create(SemanticsEntityDescriptorEnum.EnvironmentVariable, environment, variable);
}
public IEntityBuilder<EnvironmentVariable> buildEnvironmentVariable() {
return new EntityBuilder<EnvironmentVariable>(create(SemanticsEntityDescriptorEnum.EnvironmentVariable));
}
public TypeCast createTypeCast() {
return create(SemanticsEntityDescriptorEnum.TypeCast);
}
public TypeCast createTypeCast(CastType type, Term expression) {
return create(SemanticsEntityDescriptorEnum.TypeCast, type, expression);
}
public IEntityBuilder<TypeCast> buildTypeCast() {
return new EntityBuilder<TypeCast>(create(SemanticsEntityDescriptorEnum.TypeCast));
}
public FunctionApplication createFunctionApplication() {
return create(SemanticsEntityDescriptorEnum.FunctionApplication);
}
public FunctionApplication createFunctionApplication(Name name, Expression arguments, Environments environments, StageChange stage) {
return create(SemanticsEntityDescriptorEnum.FunctionApplication, name, arguments, environments, stage);
}
public IEntityBuilder<FunctionApplication> buildFunctionApplication() {
return new EntityBuilder<FunctionApplication>(create(SemanticsEntityDescriptorEnum.FunctionApplication));
}
public StageChange createStageChange() {
return create(SemanticsEntityDescriptorEnum.StageChange);
}
public StageChange createStageChange(StageChangeEnum.Value value) {
return create(SemanticsEntityDescriptorEnum.StageChange, value);
}
public OutputBindings createOutputBindings() {
return create(SemanticsEntityDescriptorEnum.OutputBindings);
}
public OutputBindings createOutputBindings(OutputBinding... entities) {
return create(SemanticsEntityDescriptorEnum.OutputBindings, (IEntity[]) entities);
}
public OutputBindings createOutputBindings(int initialSize) {
return clone(SemanticsEntityDescriptorEnum.OutputBindings, initialSize);
}
public OutputBinding createOutputBinding() {
return create(SemanticsEntityDescriptorEnum.OutputBinding);
}
public OutputBinding createOutputBinding(BindingSubject identifier, Expression expression) {
return create(SemanticsEntityDescriptorEnum.OutputBinding, identifier, expression);
}
public IEntityBuilder<OutputBinding> buildOutputBinding() {
return new EntityBuilder<OutputBinding>(create(SemanticsEntityDescriptorEnum.OutputBinding));
}
public InputBindings createInputBindings() {
return create(SemanticsEntityDescriptorEnum.InputBindings);
}
public InputBindings createInputBindings(InputBinding... entities) {
return create(SemanticsEntityDescriptorEnum.InputBindings, (IEntity[]) entities);
}
public InputBindings createInputBindings(int initialSize) {
return clone(SemanticsEntityDescriptorEnum.InputBindings, initialSize);
}
public InputBinding createInputBinding() {
return create(SemanticsEntityDescriptorEnum.InputBinding);
}
public InputBinding createInputBinding(BindingSubject identifier, Expression expression) {
return create(SemanticsEntityDescriptorEnum.InputBinding, identifier, expression);
}
public IEntityBuilder<InputBinding> buildInputBinding() {
return new EntityBuilder<InputBinding>(create(SemanticsEntityDescriptorEnum.InputBinding));
}
public InlineTemplate createInlineTemplate() {
return create(SemanticsEntityDescriptorEnum.InlineTemplate);
}
public InlineTemplate createInlineTemplate(Term expression) {
return create(SemanticsEntityDescriptorEnum.InlineTemplate, expression);
}
public ChooseTemplate createChooseTemplate() {
return create(SemanticsEntityDescriptorEnum.ChooseTemplate);
}
public ChooseTemplate createChooseTemplate(Case... entities) {
return create(SemanticsEntityDescriptorEnum.ChooseTemplate, (IEntity[]) entities);
}
public ChooseTemplate createChooseTemplate(int initialSize) {
return clone(SemanticsEntityDescriptorEnum.ChooseTemplate, initialSize);
}
public WhereTemplate createWhereTemplate() {
return create(SemanticsEntityDescriptorEnum.WhereTemplate);
}
public WhereTemplate createWhereTemplate(Term expression, InputBindings where) {
return create(SemanticsEntityDescriptorEnum.WhereTemplate, expression, where);
}
public IEntityBuilder<WhereTemplate> buildWhereTemplate() {
return new EntityBuilder<WhereTemplate>(create(SemanticsEntityDescriptorEnum.WhereTemplate));
}
public ForTemplate createForTemplate() {
return create(SemanticsEntityDescriptorEnum.ForTemplate);
}
public ForTemplate createForTemplate(Term expression, Expression condition) {
return create(SemanticsEntityDescriptorEnum.ForTemplate, expression, condition);
}
public IEntityBuilder<ForTemplate> buildForTemplate() {
return new EntityBuilder<ForTemplate>(create(SemanticsEntityDescriptorEnum.ForTemplate));
}
public IfTemplate createIfTemplate() {
return create(SemanticsEntityDescriptorEnum.IfTemplate);
}
public IfTemplate createIfTemplate(Term expression, Predicate condition) {
return create(SemanticsEntityDescriptorEnum.IfTemplate, expression, condition);
}
public IEntityBuilder<IfTemplate> buildIfTemplate() {
return new EntityBuilder<IfTemplate>(create(SemanticsEntityDescriptorEnum.IfTemplate));
}
public IfDefTemplate createIfDefTemplate() {
return create(SemanticsEntityDescriptorEnum.IfDefTemplate);
}
public IfDefTemplate createIfDefTemplate(Term expression) {
return create(SemanticsEntityDescriptorEnum.IfDefTemplate, expression);
}
public ElseTemplate createElseTemplate() {
return create(SemanticsEntityDescriptorEnum.ElseTemplate);
}
public ElseTemplate createElseTemplate(Term expression) {
return create(SemanticsEntityDescriptorEnum.ElseTemplate, expression);
}
public RuleName createRuleName() {
return create(SemanticsEntityDescriptorEnum.RuleName);
}
public RuleName createRuleName(Name name, Name sub, Name sup) {
return create(SemanticsEntityDescriptorEnum.RuleName, name, sub, sup);
}
public IEntityBuilder<RuleName> buildRuleName() {
return new EntityBuilder<RuleName>(create(SemanticsEntityDescriptorEnum.RuleName));
}
public Num createNum() {
return create(SemanticsEntityDescriptorEnum.Num);
}
public Num createNum(int value) {
return create(SemanticsEntityDescriptorEnum.Num, value);
}
public URI createURI() {
return create(SemanticsEntityDescriptorEnum.URI);
}
public URI createURI(String value) {
return create(SemanticsEntityDescriptorEnum.URI, value);
}
public Namespace createNamespace() {
return create(SemanticsEntityDescriptorEnum.Namespace);
}
public Namespace createNamespace(String value) {
return create(SemanticsEntityDescriptorEnum.Namespace, value);
}
public Name createName() {
return create(SemanticsEntityDescriptorEnum.Name);
}
public Name createName(String value) {
return create(SemanticsEntityDescriptorEnum.Name, value);
}
public Version createVersion() {
return create(SemanticsEntityDescriptorEnum.Version);
}
public Version createVersion(String value) {
return create(SemanticsEntityDescriptorEnum.Version, value);
}
}