package org.whole.lang.grammars.factories; import org.whole.lang.factories.GenericEntityFactory; import org.whole.lang.grammars.model.*; import org.whole.lang.factories.RegistryConfigurations; import org.whole.lang.factories.IEntityRegistryProvider; import org.whole.lang.grammars.reflect.GrammarsEntityDescriptorEnum; import org.whole.lang.factories.IEntityBuilder; import org.whole.lang.factories.EntityBuilder; import org.whole.lang.model.IEntity; /** * @generator Whole */ public class GrammarsEntityFactory extends GenericEntityFactory { public static final GrammarsEntityFactory instance = instance(RegistryConfigurations.DEFAULT); public static GrammarsEntityFactory instance( IEntityRegistryProvider provider) { return new GrammarsEntityFactory(provider); } protected GrammarsEntityFactory(IEntityRegistryProvider provider) { super(provider); } public Grammar createGrammar() { return create(GrammarsEntityDescriptorEnum.Grammar); } public Grammar createGrammar(Name name, TargetLanguage targetLanguage, NonTerminal startSymbol, LiteralTerminal delimiter, Productions lexicalStructure, Productions phraseStructure, URI uri, Namespace namespace, Version version, Literal spaceLiteral, Literal indentLiteral, Literal newLineLiteral) { return create(GrammarsEntityDescriptorEnum.Grammar, name, targetLanguage, startSymbol, delimiter, lexicalStructure, phraseStructure, uri, namespace, version, spaceLiteral, indentLiteral, newLineLiteral); } public IEntityBuilder<Grammar> buildGrammar() { return new EntityBuilder<Grammar>( create(GrammarsEntityDescriptorEnum.Grammar)); } public Productions createProductions() { return create(GrammarsEntityDescriptorEnum.Productions); } public Productions createProductions(Production... entities) { return create(GrammarsEntityDescriptorEnum.Productions, (IEntity[]) entities); } public Productions createProductions(int initialSize) { return clone(GrammarsEntityDescriptorEnum.Productions, initialSize); } public Production createProduction() { return create(GrammarsEntityDescriptorEnum.Production); } public Production createProduction(NonTerminal name, Rule rule, Template template) { return create(GrammarsEntityDescriptorEnum.Production, name, rule, template); } public IEntityBuilder<Production> buildProduction() { return new EntityBuilder<Production>( create(GrammarsEntityDescriptorEnum.Production)); } public And createAnd() { return create(GrammarsEntityDescriptorEnum.And); } public And createAnd(Predicate predicate1, Predicate predicate2) { return create(GrammarsEntityDescriptorEnum.And, predicate1, predicate2); } public IEntityBuilder<And> buildAnd() { return new EntityBuilder<And>(create(GrammarsEntityDescriptorEnum.And)); } public Or createOr() { return create(GrammarsEntityDescriptorEnum.Or); } public Or createOr(Predicate predicate1, Predicate predicate2) { return create(GrammarsEntityDescriptorEnum.Or, predicate1, predicate2); } public IEntityBuilder<Or> buildOr() { return new EntityBuilder<Or>(create(GrammarsEntityDescriptorEnum.Or)); } public Not createNot() { return create(GrammarsEntityDescriptorEnum.Not); } public Not createNot(Predicate predicate) { return create(GrammarsEntityDescriptorEnum.Not, predicate); } public Empty createEmpty() { return create(GrammarsEntityDescriptorEnum.Empty); } public Empty createEmpty(Literal literal) { return create(GrammarsEntityDescriptorEnum.Empty, literal); } public Space createSpace() { return create(GrammarsEntityDescriptorEnum.Space); } public Indent createIndent() { return create(GrammarsEntityDescriptorEnum.Indent); } public NewLine createNewLine() { return create(GrammarsEntityDescriptorEnum.NewLine); } public LiteralTerminal createLiteralTerminal() { return create(GrammarsEntityDescriptorEnum.LiteralTerminal); } public LiteralTerminal createLiteralTerminal(Pattern pattern, Category category, Literal literal) { return create(GrammarsEntityDescriptorEnum.LiteralTerminal, pattern, category, literal); } public IEntityBuilder<LiteralTerminal> buildLiteralTerminal() { return new EntityBuilder<LiteralTerminal>( create(GrammarsEntityDescriptorEnum.LiteralTerminal)); } public DataTerminal createDataTerminal() { return create(GrammarsEntityDescriptorEnum.DataTerminal); } public DataTerminal createDataTerminal(Pattern pattern, Category category, Format format) { return create(GrammarsEntityDescriptorEnum.DataTerminal, pattern, category, format); } public IEntityBuilder<DataTerminal> buildDataTerminal() { return new EntityBuilder<DataTerminal>( create(GrammarsEntityDescriptorEnum.DataTerminal)); } public NonTerminal createNonTerminal() { return create(GrammarsEntityDescriptorEnum.NonTerminal); } public NonTerminal createNonTerminal(String value) { return create(GrammarsEntityDescriptorEnum.NonTerminal, value); } public Optional createOptional() { return create(GrammarsEntityDescriptorEnum.Optional); } public Optional createOptional(Rule rule) { return create(GrammarsEntityDescriptorEnum.Optional, rule); } public Repeat createRepeat() { return create(GrammarsEntityDescriptorEnum.Repeat); } public Repeat createRepeat(Size lowerBound, Bound upperBound, Rule separator, Rule rule) { return create(GrammarsEntityDescriptorEnum.Repeat, lowerBound, upperBound, separator, rule); } public IEntityBuilder<Repeat> buildRepeat() { return new EntityBuilder<Repeat>( create(GrammarsEntityDescriptorEnum.Repeat)); } public Concatenate createConcatenate() { return create(GrammarsEntityDescriptorEnum.Concatenate); } public Concatenate createConcatenate(Rule... entities) { return create(GrammarsEntityDescriptorEnum.Concatenate, (IEntity[]) entities); } public Concatenate createConcatenate(int initialSize) { return clone(GrammarsEntityDescriptorEnum.Concatenate, initialSize); } public Choose createChoose() { return create(GrammarsEntityDescriptorEnum.Choose); } public Choose createChoose(Rule... entities) { return create(GrammarsEntityDescriptorEnum.Choose, (IEntity[]) entities); } public Choose createChoose(int initialSize) { return clone(GrammarsEntityDescriptorEnum.Choose, initialSize); } public When createWhen() { return create(GrammarsEntityDescriptorEnum.When); } public When createWhen(Predicate predicate, Rule rule) { return create(GrammarsEntityDescriptorEnum.When, predicate, rule); } public IEntityBuilder<When> buildWhen() { return new EntityBuilder<When>( create(GrammarsEntityDescriptorEnum.When)); } public As createAs() { return create(GrammarsEntityDescriptorEnum.As); } public As createAs(Rule rule, Name name) { return create(GrammarsEntityDescriptorEnum.As, rule, name); } public IEntityBuilder<As> buildAs() { return new EntityBuilder<As>(create(GrammarsEntityDescriptorEnum.As)); } public Split createSplit() { return create(GrammarsEntityDescriptorEnum.Split); } public Split createSplit(Splitter splitter, Rule rule) { return create(GrammarsEntityDescriptorEnum.Split, splitter, rule); } public IEntityBuilder<Split> buildSplit() { return new EntityBuilder<Split>( create(GrammarsEntityDescriptorEnum.Split)); } public BySize createBySize() { return create(GrammarsEntityDescriptorEnum.BySize); } public BySize createBySize(int value) { return create(GrammarsEntityDescriptorEnum.BySize, value); } public ByLines createByLines() { return create(GrammarsEntityDescriptorEnum.ByLines); } public ByLines createByLines(int value) { return create(GrammarsEntityDescriptorEnum.ByLines, value); } public ByDelimiter createByDelimiter() { return create(GrammarsEntityDescriptorEnum.ByDelimiter); } public ByDelimiter createByDelimiter(Pattern delimiter) { return create(GrammarsEntityDescriptorEnum.ByDelimiter, delimiter); } public LanguageDescriptor createLanguageDescriptor() { return create(GrammarsEntityDescriptorEnum.LanguageDescriptor); } public LanguageDescriptor createLanguageDescriptor(URI uri, Namespace namespace, Name name, Version version) { return create(GrammarsEntityDescriptorEnum.LanguageDescriptor, uri, namespace, name, version); } public IEntityBuilder<LanguageDescriptor> buildLanguageDescriptor() { return new EntityBuilder<LanguageDescriptor>( create(GrammarsEntityDescriptorEnum.LanguageDescriptor)); } public Name createName() { return create(GrammarsEntityDescriptorEnum.Name); } public Name createName(String value) { return create(GrammarsEntityDescriptorEnum.Name, value); } public URI createURI() { return create(GrammarsEntityDescriptorEnum.URI); } public URI createURI(String value) { return create(GrammarsEntityDescriptorEnum.URI, value); } public Namespace createNamespace() { return create(GrammarsEntityDescriptorEnum.Namespace); } public Namespace createNamespace(String value) { return create(GrammarsEntityDescriptorEnum.Namespace, value); } public Version createVersion() { return create(GrammarsEntityDescriptorEnum.Version); } public Version createVersion(String value) { return create(GrammarsEntityDescriptorEnum.Version, value); } public Unbounded createUnbounded() { return create(GrammarsEntityDescriptorEnum.Unbounded); } public Size createSize() { return create(GrammarsEntityDescriptorEnum.Size); } public Size createSize(int value) { return create(GrammarsEntityDescriptorEnum.Size, value); } public Literal createLiteral() { return create(GrammarsEntityDescriptorEnum.Literal); } public Literal createLiteral(String value) { return create(GrammarsEntityDescriptorEnum.Literal, value); } public RegExp createRegExp() { return create(GrammarsEntityDescriptorEnum.RegExp); } public RegExp createRegExp(String value) { return create(GrammarsEntityDescriptorEnum.RegExp, value); } public CompiledPattern createCompiledPattern() { return create(GrammarsEntityDescriptorEnum.CompiledPattern); } public CompiledPattern createCompiledPattern(java.util.regex.Pattern value) { return create(GrammarsEntityDescriptorEnum.CompiledPattern, value); } public Format createFormat() { return create(GrammarsEntityDescriptorEnum.Format); } public Format createFormat(String value) { return create(GrammarsEntityDescriptorEnum.Format, value); } public Category createCategory() { return create(GrammarsEntityDescriptorEnum.Category); } public Category createCategory(CategoryEnum.Value value) { return create(GrammarsEntityDescriptorEnum.Category, value); } public DataType createDataType() { return create(GrammarsEntityDescriptorEnum.DataType); } public DataType createDataType(DataTypeEnum.Value value) { return create(GrammarsEntityDescriptorEnum.DataType, value); } public CustomDataType createCustomDataType() { return create(GrammarsEntityDescriptorEnum.CustomDataType); } public CustomDataType createCustomDataType(String value) { return create(GrammarsEntityDescriptorEnum.CustomDataType, value); } }