/**
* 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.gen.lang;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.whole.gen.CompilationUnitBuilder;
import org.whole.gen.JavaModelGenerator;
import org.whole.gen.JavaStoreGeneratorVisitorBuilder;
import org.whole.gen.lang.builders.ModelContextBuilder;
import org.whole.gen.lang.factories.EntityFactoriesBuilder;
import org.whole.gen.lang.model.AbstractEntityBuilder;
import org.whole.gen.lang.model.CompositeEntityInterfaceBuilder;
import org.whole.gen.lang.model.DataEntityInterfaceBuilder;
import org.whole.gen.lang.model.EntityInterfaceBuilder;
import org.whole.gen.lang.model.EnumTypeBuilder;
import org.whole.gen.lang.model.InterfaceEntityBuilder;
import org.whole.gen.lang.model.MapEntityInterfaceBuilder;
import org.whole.gen.lang.model.SimpleEntityInterfaceBuilder;
import org.whole.gen.lang.model.adapters.AdapterRegistryBuilder;
import org.whole.gen.lang.model.adapters.EntityAdapterBuilder;
import org.whole.gen.lang.model.impl.CompositeEntityImplBuilder;
import org.whole.gen.lang.model.impl.DataEntityImplBuilder;
import org.whole.gen.lang.model.impl.ImplRegistryBuilder;
import org.whole.gen.lang.model.impl.MapEntityImplBuilder;
import org.whole.gen.lang.model.impl.SimpleEntityImplBuilder;
import org.whole.gen.lang.model.impl.StrictImplRegistryBuilder;
import org.whole.gen.lang.reflect.EntityDescriptorEnumBuilder;
import org.whole.gen.lang.reflect.FeatureDescriptorEnumBuilder;
import org.whole.gen.lang.reflect.LanguageDeployerBuilder;
import org.whole.gen.lang.reflect.LanguageKitBuilder;
import org.whole.gen.lang.reflect.TemplateManagerBuilder;
import org.whole.gen.lang.ui.EditorKitBuilder;
import org.whole.gen.lang.ui.actions.ActionFactoryBuilder;
import org.whole.gen.lang.ui.actions.CommandFactoryBuilder;
import org.whole.gen.lang.ui.commands.DataCommandBuilder;
import org.whole.gen.lang.ui.editparts.DataPartBuilder;
import org.whole.gen.lang.ui.editparts.PartBuilder;
import org.whole.gen.lang.ui.editpolicies.DataDirectEditPolicyBuilder;
import org.whole.gen.lang.ui.editpolicies.EnumDirectEditPolicyBuilder;
import org.whole.gen.lang.ui.figures.FigureBuilder;
import org.whole.gen.lang.visitors.PartFactoryVisitorBuilder;
import org.whole.gen.lang.visitors.TraversalFactoryBuilder;
import org.whole.gen.lang.visitors.VisitorsBuilder;
import org.whole.lang.model.adapters.AbstractMapEntityAdapter;
import org.whole.lang.reflect.AbstractLanguageKit;
import org.whole.lang.util.StringUtils;
/**
* @author Riccardo Solmi
*/
public class LanguageGenerator extends JavaModelGenerator {
private String modelName;
private String editorName;
private String topEntityName;
private String topEntityImplName;
public LanguageGenerator() {
super();
}
public LanguageGenerator(String packagePrefix) {
super(packagePrefix);
}
public LanguageGenerator(String packagePrefix, String modelName) {
super(packagePrefix);
setModelName(modelName);
}
public String getModelName() {
return modelName;
}
public void setModelName(String modelName) {
this.modelName = StringUtils.toUpperCap(modelName);
}
public String getEditorName() {
if (editorName == null)
editorName = getModelName();
return editorName;
}
public void setEditorName(String editorName) {
this.editorName = StringUtils.toUpperCap(editorName);
}
public void setTopEntityName(String topEntityName, String topEntityImplName) {
this.topEntityName = topEntityName;
this.topEntityImplName = topEntityImplName;
}
public String getTopEntityName() {
return topEntityName;
}
public String getTopEntityImplName() {
return topEntityImplName;
}
private LanguageDeployerBuilder languageDeployerBuilder;
public LanguageDeployerBuilder languageDeployerBuilder() {
if (languageDeployerBuilder == null)
languageDeployerBuilder = new LanguageDeployerBuilder(this);
return languageDeployerBuilder;
}
private LanguageKitBuilder languageKitBuilder;
public LanguageKitBuilder languageKitBuilder() {
if (languageKitBuilder == null)
languageKitBuilder = new LanguageKitBuilder(this);
return languageKitBuilder;
}
private EditorKitBuilder editorKitBuilder;
public EditorKitBuilder editorKitBuilder() {
if (editorKitBuilder == null)
editorKitBuilder = new EditorKitBuilder(this);
return editorKitBuilder;
}
private ModelContextBuilder modelContextBuilder;
public ModelContextBuilder modelContextBuilder() {
if (modelContextBuilder == null)
modelContextBuilder = new ModelContextBuilder(this);
return modelContextBuilder;
}
private EntityDescriptorEnumBuilder entityDescriptorEnumBuilder;
public EntityDescriptorEnumBuilder entityDescriptorEnumBuilder() {
if (entityDescriptorEnumBuilder == null)
entityDescriptorEnumBuilder = new EntityDescriptorEnumBuilder(this);
return entityDescriptorEnumBuilder;
}
private FeatureDescriptorEnumBuilder featureDescriptorEnumBuilder;
public FeatureDescriptorEnumBuilder featureDescriptorEnumBuilder() {
if (featureDescriptorEnumBuilder == null)
featureDescriptorEnumBuilder = new FeatureDescriptorEnumBuilder(this);
return featureDescriptorEnumBuilder;
}
private SimpleEntityImplBuilder variableBuilder;
public SimpleEntityImplBuilder variableBuilder() {
if (variableBuilder == null)
variableBuilder = new SimpleEntityImplBuilder(this, modelImplSuffix(), entityVariableName());
return variableBuilder;
}
private EntityFactoriesBuilder entityFactoryBuilder;
public EntityFactoriesBuilder entityFactoryBuilder() {
if (entityFactoryBuilder == null)
entityFactoryBuilder = new EntityFactoriesBuilder(this);
return entityFactoryBuilder;
}
private ImplRegistryBuilder implRegistryBuilder;
public ImplRegistryBuilder implRegistryBuilder() {
if (implRegistryBuilder == null)
implRegistryBuilder = new ImplRegistryBuilder(this);
return implRegistryBuilder;
}
private StrictImplRegistryBuilder strictImplRegistryBuilder;
public StrictImplRegistryBuilder strictImplRegistryBuilder() {
if (strictImplRegistryBuilder == null)
strictImplRegistryBuilder = new StrictImplRegistryBuilder(this);
return strictImplRegistryBuilder;
}
public boolean hasStrictImplRegistry() {
return strictImplRegistryBuilder != null;
}
private AdapterRegistryBuilder adapterRegistryBuilder;
public AdapterRegistryBuilder adapterRegistryBuilder() {
if (adapterRegistryBuilder == null)
adapterRegistryBuilder = new AdapterRegistryBuilder(this);
return adapterRegistryBuilder;
}
private TemplateManagerBuilder templateManagerBuilder;
public TemplateManagerBuilder templateManagerBuilder() {
if (templateManagerBuilder == null)
templateManagerBuilder = new TemplateManagerBuilder(this);
return templateManagerBuilder;
}
private ActionFactoryBuilder actionFactoryBuilder;
public ActionFactoryBuilder actionFactoryBuilder() {
if (actionFactoryBuilder == null)
actionFactoryBuilder = new ActionFactoryBuilder(this);
return actionFactoryBuilder;
}
private CommandFactoryBuilder commandFactoryBuilder;
public CommandFactoryBuilder commandFactoryBuilder() {
if (commandFactoryBuilder == null)
commandFactoryBuilder = new CommandFactoryBuilder(this);
return commandFactoryBuilder;
}
private VisitorsBuilder visitorsBuilder;
public VisitorsBuilder visitorsBuilder() {
if (visitorsBuilder == null)
visitorsBuilder = new VisitorsBuilder(this);
return visitorsBuilder;
}
private TraversalFactoryBuilder visitorFactoryBuilder;
public TraversalFactoryBuilder visitorFactoryBuilder() {
if (visitorFactoryBuilder == null)
visitorFactoryBuilder = new TraversalFactoryBuilder(this);
return visitorFactoryBuilder;
}
private EntityInterfaceBuilder entityInterfaceBuilder;
public EntityInterfaceBuilder entityInterfaceBuilder() {
if (entityInterfaceBuilder == null)
entityInterfaceBuilder = new EntityInterfaceBuilder(this);
return entityInterfaceBuilder;
}
private PartFactoryVisitorBuilder partFactoryVisitorBuilder;
public PartFactoryVisitorBuilder partFactoryVisitorBuilder() {
if (partFactoryVisitorBuilder == null)
partFactoryVisitorBuilder = new PartFactoryVisitorBuilder(this);
return partFactoryVisitorBuilder;
}
public PartFactoryVisitorBuilder addPartFactoryVisitorBuilder(String superEditorName) {
return new PartFactoryVisitorBuilder(this, superEditorName != null ? StringUtils.toUpperCap(superEditorName) : null);
}
private JavaStoreGeneratorVisitorBuilder javaStoreGeneratorVisitorBuilder;
public JavaStoreGeneratorVisitorBuilder javaStoreGeneratorVisitorBuilder() {
if (javaStoreGeneratorVisitorBuilder == null)
javaStoreGeneratorVisitorBuilder = new JavaStoreGeneratorVisitorBuilder(
this, "visitors",
specificEntityInterfaceName(),
visitorsBuilder().getVisitorInterface(),
entityFactoryBuilder().getType());
return javaStoreGeneratorVisitorBuilder;
}
// private Map<String, String> pendingTypeDeclarations = new HashMap<String, String>(256);// maps entityName to InterfaceName
// public void addTypeDeclaration(String entityName, String interfaceName) {
// pendingTypeDeclarations.put(entityName, interfaceName);
// }
// public void applyTypeDeclarations() {
// Iterator i = pendingTypeDeclarations.entrySet().iterator();
// while (i.hasNext()) {
// Map.Entry entry = (Map.Entry) i.next();
// entityInterfaceBuilders.get(entry.getKey()).addTypeDeclaration((String) entry.getValue());
// }
// pendingTypeDeclarations.clear();
// }
private Map<String, AbstractEntityBuilder> entityInterfaceBuilders = new HashMap<String, AbstractEntityBuilder>(256); // maps entityName to EntityInterfaceBuilder
public SimpleEntityInterfaceBuilder simpleEntityInterfaceBuilder(String entityName) {
SimpleEntityInterfaceBuilder builder = (SimpleEntityInterfaceBuilder) entityInterfaceBuilders.get(entityName);
if (builder == null) {
entityInterfaceBuilders.put(entityName, builder = new SimpleEntityInterfaceBuilder(this, modelSuffix(), entityName));
//notifyAdded("entityBuilder", builder);
}
return builder;
}
public CompositeEntityInterfaceBuilder compositeEntityInterfaceBuilder(String entityName, String componentType, String javaCompositeType) {
CompositeEntityInterfaceBuilder builder = (CompositeEntityInterfaceBuilder) entityInterfaceBuilders.get(entityName);
if (builder == null) {
entityInterfaceBuilders.put(entityName, builder = newCompositeEntityInterfaceBuilder(entityName, componentType, javaCompositeType));
//notifyAdded("entityBuilder", builder);
}
return builder;
}
public MapEntityInterfaceBuilder mapEntityInterfaceBuilder(String entityName, String keyType, String valueType) {
MapEntityInterfaceBuilder builder = (MapEntityInterfaceBuilder) entityInterfaceBuilders.get(entityName);
if (builder == null) {
entityInterfaceBuilders.put(entityName, builder = newMapEntityInterfaceBuilder(entityName, keyType, valueType));
//notifyAdded("entityBuilder", builder);
}
return builder;
}
public DataEntityInterfaceBuilder primitiveEntityInterfaceBuilder(String entityName, String primitiveType, String fName) {
DataEntityInterfaceBuilder builder = (DataEntityInterfaceBuilder) entityInterfaceBuilders.get(entityName);
if (builder == null) {
entityInterfaceBuilders.put(entityName, builder = newDataEntityInterfaceBuilder(entityName, primitiveType, fName));
//notifyAdded("entityBuilder", builder);
}
return builder;
}
private Map<String, CompilationUnitBuilder> adapterBuilders = new HashMap<String, CompilationUnitBuilder>(256); // maps entityName to EntityAdapterBuilder
public EntityAdapterBuilder entityAdapterBuilder(String entityName) {
EntityAdapterBuilder builder = (EntityAdapterBuilder) adapterBuilders.get(entityName);
if (builder == null) {
adapterBuilders.put(entityName, builder = new EntityAdapterBuilder(this, entityName));
//notifyAdded("entityBuilder", builder);
}
return builder;
}
public EntityAdapterBuilder compositeEntityAdapterBuilder(String entityName, String abstractAdapterName, String componentType) {
EntityAdapterBuilder builder = (EntityAdapterBuilder) adapterBuilders.get(entityName);
if (builder == null) {
adapterBuilders.put(entityName, builder = new EntityAdapterBuilder(this, entityName, abstractAdapterName, componentType, null));
//notifyAdded("entityBuilder", builder);
}
return builder;
}
public EntityAdapterBuilder mapEntityAdapterBuilder(String entityName, String keyType, String valueType) {
EntityAdapterBuilder builder = (EntityAdapterBuilder) adapterBuilders.get(entityName);
if (builder == null) {
adapterBuilders.put(entityName, builder = new EntityAdapterBuilder(this, entityName, AbstractMapEntityAdapter.class.getName(), keyType, valueType));
//notifyAdded("entityBuilder", builder);
}
return builder;
}
private Map<String, CompilationUnitBuilder> entityBuilders = new HashMap<String, CompilationUnitBuilder>(256); // maps entityName to EntityBuilder
public SimpleEntityImplBuilder simpleEntityBuilder(String entityName) {
SimpleEntityImplBuilder builder = (SimpleEntityImplBuilder) entityBuilders.get(entityName);
if (builder == null) {
entityBuilders.put(entityName, builder = new SimpleEntityImplBuilder(this, modelImplSuffix(), entityName));
//notifyAdded("entityBuilder", builder);
}
return builder;
}
public CompositeEntityImplBuilder compositeEntityBuilder(String entityName, String componentType, String compositeType, boolean isReference, boolean isStrict) {
CompositeEntityImplBuilder builder = (CompositeEntityImplBuilder) entityBuilders.get(entityName);
if (builder == null) {
entityBuilders.put(entityName, builder = newCompositeEntityBuilder(entityName, componentType, compositeType, isReference, isStrict));
if (isStrict)
entityBuilders.put(entityName, null);//FIXME workaround
//notifyAdded("entityBuilder", builder);
}
return builder;
}
public MapEntityImplBuilder mapEntityBuilder(String entityName, String keyType, String valueType, boolean isReference) {
MapEntityImplBuilder builder = (MapEntityImplBuilder) entityBuilders.get(entityName);
if (builder == null) {
entityBuilders.put(entityName, builder = newMapEntityBuilder(entityName, keyType, valueType, isReference));
//notifyAdded("entityBuilder", builder);
}
return builder;
}
public DataEntityImplBuilder primitiveEntityBuilder(String entityName, String primitiveType, String fName) {
DataEntityImplBuilder builder = (DataEntityImplBuilder) entityBuilders.get(entityName);
if (builder == null) {
entityBuilders.put(entityName, builder = newDataEntityBuilder(entityName, primitiveType, fName));
//notifyAdded("entityBuilder", builder);
}
return builder;
}
public EnumTypeBuilder enumTypeBuilder(String enumName, String valueType) {
EnumTypeBuilder builder = (EnumTypeBuilder) entityBuilders.get(enumName);
if (builder == null) {
entityBuilders.put(enumName, builder = newEnumTypeBuilder(enumName, valueType));
//notifyAdded("entityBuilder", builder);
}
return builder;
}
public InterfaceEntityBuilder interfaceEntityBuilder(String name) {
InterfaceEntityBuilder builder = (InterfaceEntityBuilder) entityBuilders.get(name);
if (builder == null) {
entityBuilders.put(name, builder = newInterfaceEntityBuilder(name));
//notifyAdded("entityBuilder", builder);
}
return builder;
}
public CompositeEntityInterfaceBuilder newCompositeEntityInterfaceBuilder(String fType, String componentType, String javaCompositeType) {
return new CompositeEntityInterfaceBuilder(this, modelSuffix(), fType, componentType, javaCompositeType);
}
public MapEntityInterfaceBuilder newMapEntityInterfaceBuilder(String fType, String keyType, String valueType) {
return new MapEntityInterfaceBuilder(this, modelSuffix(), fType, keyType, valueType);
}
public DataEntityInterfaceBuilder newDataEntityInterfaceBuilder(String fType, String dataType, String fName) {
return new DataEntityInterfaceBuilder(this, modelSuffix(), fType, dataType, fName);
}
public DataCommandBuilder newDataCommandBuilder(String fType, String dataType, String fName) {
return new DataCommandBuilder(this, "ui.commands", fType, dataType, fName);
}
public DataDirectEditPolicyBuilder newDataDirectEditPolicyBuilder(String fType, String dataType, String fName) {
return new DataDirectEditPolicyBuilder(this, "ui.editpolicies", fType, dataType, fName);
}
public DataPartBuilder newDataPartBuilder(String fType, String dataType, String fName) {
return new DataPartBuilder(this, "ui.editparts", fType, dataType, fName);
}
public DataEntityImplBuilder newDataEntityBuilder(String fType, String dataType, String fName) {
return new DataEntityImplBuilder(this, modelImplSuffix(), fType, dataType, fName);
}
public EnumTypeBuilder newEnumTypeBuilder(String enumType, String valueType) {
return new EnumTypeBuilder(this, enumType, valueType);
}
public EnumDirectEditPolicyBuilder newEnumDirectEditPolicyBuilder(String fType, String primitiveType, String fName) {
return new EnumDirectEditPolicyBuilder(this, "ui.editpolicies", fType, primitiveType, fName);
}
public CompositeEntityImplBuilder newCompositeEntityBuilder(String fType, String componentType, String compositeType, boolean isReference, boolean isStrict) {
return new CompositeEntityImplBuilder(this, modelImplSuffix(), fType, componentType, compositeType, isReference, isStrict);
}
public MapEntityImplBuilder newMapEntityBuilder(String fType, String keyType, String valueType, boolean isReference) {
return new MapEntityImplBuilder(this, modelImplSuffix(), fType, keyType, valueType, isReference);
}
public InterfaceEntityBuilder newInterfaceEntityBuilder(String name) {
return new InterfaceEntityBuilder(this, modelSuffix(), name);
}
public FigureBuilder newFigureBuilder(String name) {
return new FigureBuilder(this, "ui.figures", name);
}
public PartBuilder newPartBuilder(String partName, String entityName, String figureName) {
return new PartBuilder(this, "ui.editparts", partName, entityName, figureName);
}
public final String figuresPackage() {
return packagePrefix+".ui.figures";
}
public final String partsPackage() {
return packagePrefix+".ui.editparts";
}
public final String actionsPackage() {
return packagePrefix+".ui.actions";
}
public final String commandsPackage() {
return packagePrefix+".ui.commands";
}
public final String policiesPackage() {
return packagePrefix+".ui.editpolicies";
}
@Override
public String getURI() {
if (uri == null)
uri = AbstractLanguageKit.calculateURI(packagePrefix, getModelName());
return uri;
}
public final String languageDeployerName() {
return packagePrefix+".reflect."+getModelName()+"LanguageDeployer";
}
public final String languageKitName() {
return packagePrefix+".reflect."+getModelName()+"LanguageKit";
}
public final String editorKitName() {
return editorKitName(getEditorName());
}
public final String editorKitName(String editorName) {
return packagePrefix+".ui."+editorName+"EditorKit";
}
public final String specificModelContextName() {
return specificBuildersPackage()+"."+getModelName()+"ModelContext";
}
public final String specificBuilderInterfaceName() {
return specificBuildersPackage()+".I"+getModelName()+"Builder";
}
public final String specificIdentityBuilderContextName() {
return specificBuildersPackage()+"."+getModelName()+"IdentityBuilderContext";
}
public final String genericBuilderAdapterName() {
return specificBuildersPackage()+"."+getModelName()+"GenericBuilderAdapter";
}
public final String specificBuilderAdapterName() {
return specificBuildersPackage()+"."+getModelName()+"SpecificBuilderAdapter";
}
public final String specificCodebaseBuilderName() {
return specificBuildersPackage()+"."+getModelName()+"CodebaseBuilder";
}
public final String specificEntityDescriptorEnumName() {
return specificReflectionPackage()+"."+getModelName()+"EntityDescriptorEnum";
}
public final String specificFeatureDescriptorEnumName() {
return specificReflectionPackage()+"."+getModelName()+"FeatureDescriptorEnum";
}
public final String specificEntityInterfaceName() {
return modelPackage()+".I"+getModelName()+"Entity";
}
public final String specificVisitorInterfaceName() {
return specificVisitorsPackage()+".I"+getModelName()+"Visitor";
}
public final String specificVisitorFactoryName() {
return specificVisitorsPackage()+"."+getModelName()+"TraversalFactory";
}
public final String visitorNameSuffix() {
return "Visitor";
}
public final String strategyVisitorName(String strategy) {
return specificVisitorsPackage()+"."+getModelName()+strategy+visitorNameSuffix();
}
public final String failureVisitorName() {
return strategyVisitorName("Failure");
}
public final String identityVisitorName() {
return strategyVisitorName("Identity");
}
public final String identityUnaryVisitorName() {
return strategyVisitorName("IdentityUnary");
}
public final String identityDefaultVisitorName() {
return strategyVisitorName("IdentityDefault");
}
public final String identitySwitchVisitorName() {
return strategyVisitorName("IdentitySwitch");
}
public final String traverseOneVisitorName() {
return strategyVisitorName("TraverseOne");
}
public final String traverseSomeVisitorName() {
return strategyVisitorName("TraverseSome");
}
public final String traverseAllVisitorName() {
return strategyVisitorName("TraverseAll");
}
public final String traverseAllChildrenVisitorName() {
return strategyVisitorName("TraverseAllChildren");
}
public final String traverseAllAdjacentsVisitorName() {
return strategyVisitorName("TraverseAllAdjacents");
}
public final String traverseAllSwitchVisitorName() {
return strategyVisitorName("TraverseAllSwitch");
}
public final String forwardGenericVisitorName() {
return strategyVisitorName("ForwardGeneric");
}
public final String forwardStagedVisitorName() {
return strategyVisitorName("ForwardStaged");
}
public final String forwardStrategyVisitorName() {
return strategyVisitorName("ForwardStrategy");
}
public final String sequenceVisitorName() {
return strategyVisitorName("Sequence");
}
public final String resolverFactoryVisitorName() {
return strategyVisitorName("ResolverFactory");
}
public final String partFactoryVisitorName() {
return partFactoryVisitorName(getEditorName());
}
public final String partFactoryVisitorName(String editorName) {
return partsPackage()+"."+editorName+"PartFactoryVisitor";
}
public final String entityFactoryInterfaceName() {
return factoriesPackage()+".I"+getModelName()+"EntityFactory";
}
public final String entityFactoryName() {
return factoriesPackage()+"."+getModelName()+"EntityFactory";
}
public final String adapterRegistryName() {
return modelAdaptersPackage()+"."+getModelName()+"AdaptersEntityRegistry";
}
public final String implRegistryName() {
return modelImplPackage()+"."+getModelName()+"ImplEntityRegistry";
}
public final String strictImplRegistryName() {
return modelImplPackage()+"."+getModelName()+"StrictImplEntityRegistry";
}
public final String prototypeManagerName() {
return specificReflectionPackage()+"."+getModelName()+"PrototypeManager";
}
public final String templateManagerName() {
return specificReflectionPackage()+"."+getModelName()+"TemplateManager";
}
public final String entityDescriptorEntityName() {
return /*modelImplPackage()+"."+*/getModelName()+"EntityDescriptor";
}
public final String booleanDataEntityName() {
return /*modelImplPackage()+"."+*/getModelName()+"BooleanData";
}
public final String stringDataEntityName() {
return /*modelImplPackage()+"."+*/getModelName()+"StringData";
}
public final String entityVariableName() {
return /*modelImplPackage()+"."+*/getModelName()+"Variable";
}
public final String adapterFragmentName() {
return /*modelImplPackage()+"."+*/getModelName()+"AdapterFragment";
}
public final String baseFragmentName() {
return /*modelImplPackage()+"."+*/getModelName()+"BaseFragment";
}
public final String metaFragmentName() {
return /*modelImplPackage()+"."+*/getModelName()+"MetaFragment";
}
// public final String topEntityName() {
// return modelImplPackage()+"."+StringUtils.toSimpleName(getTopEntityName());
// }
// public final String topEntityImplName() {
// return modelImplPackage()+"."+StringUtils.toSimpleName(getTopEntityImplName());
// }
public final String entityResolverName(String abstractEntityName) {
return modelPackage()+"."+entityResolverSimpleName(abstractEntityName);
}
public final String partName(String entityName) {
return partsPackage()+"."+StringUtils.toSimpleName(entityName)+"Part";
}
public final String actionFactoryName() {
return actionsPackage()+"."+getEditorName()+"ActionFactory";
}
public final String commandFactoryName() {
return actionsPackage()+"."+getEditorName()+"CommandFactory";
}
}