MetaDone
metadone.client.parsers.grasyla.AST_script Class Reference
Collaboration diagram for metadone.client.parsers.grasyla.AST_script:

List of all members.

Public Member Functions

 AST_script (String name, AST_ref root)
final String getName ()
void setDescription (String description)
String getDefaultFunctor ()
void setDefaultFunctor (String functor)
void addImport (String name)
void addModel (AST_ref ref)
void addRequires (String req)
final void addScript (String lang, String script)
void addScript (ProgLanguage lang, String script)
void addDefinition (String name, AST_expression expr)
void addEquation (AST_equation equation)
GrasylaScript generate (BootstrapGrasyla grasyla) throws BadPreCondition
void generate (GrasylaScript gscript) throws BadPreCondition

Package Functions

ConcreteObject getDefinition (String name)

Static Package Functions

static AST_script getFromModel (ConcreteModel script)

Private Member Functions

void generate_update (GrasylaScript gscript) throws BadPreCondition

Static Private Member Functions

static void updateMultiRole (ConcreteModel script, MetaRole role, ConcreteObject domain, List< ConcreteObject > ranges) throws BadPreCondition

Private Attributes

final String name
final AST_ref root
String description
String defaultFunctor
final Set< String > imports = new HashSet<String>()
final Set< AST_refmodels = new HashSet<AST_ref>()
final Set< String > requires = new HashSet<String>()
final Map< ProgLanguage,
StringBuilder > 
initscript = new EnumMap<ProgLanguage, StringBuilder>(ProgLanguage.class)
final Map< String, AST_expressiondefinitions = new LinkedHashMap<String, AST_expression>()
transient Map< String,
ConcreteObject
definitionsBuilt = new HashMap<String, ConcreteObject>()
final List< AST_equationequations = new ArrayList<AST_equation>()

Static Private Attributes

static Map< ConcreteModel,
AST_script
modelToScript = Collections.synchronizedMap(new WeakHashMap<ConcreteModel, AST_script>())

Detailed Description

Grasyla AST: script (root)

Author:
kma

Constructor & Destructor Documentation

metadone.client.parsers.grasyla.AST_script.AST_script ( String  name,
AST_ref  root 
)

Initializes this node.

Parameters:
nameThe name of the script
rootThe reference to the root metamodel

References metadone.client.parsers.grasyla.AST_script.name, and metadone.client.parsers.grasyla.AST_script.root.


Member Function Documentation

void metadone.client.parsers.grasyla.AST_script.addDefinition ( String  name,
AST_expression  expr 
)

Adds a definition.

Parameters:
nameThe name of the definition
exprThe expression

References metadone.client.parsers.grasyla.AST_script.definitions, and metadone.client.parsers.grasyla.GrasylaParserUtil.LOGGER.

void metadone.client.parsers.grasyla.AST_script.addEquation ( AST_equation  equation)

Adds an equation.

Parameters:
equationThe equation

References metadone.client.parsers.grasyla.AST_script.equations.

void metadone.client.parsers.grasyla.AST_script.addImport ( String  name)

Adds a script to import.

Parameters:
nameThe name of the script

References metadone.client.parsers.grasyla.AST_script.imports.

void metadone.client.parsers.grasyla.AST_script.addModel ( AST_ref  ref)

Adds a reference to the model to import.

Parameters:
refThe reference

References metadone.client.parsers.grasyla.AST_script.models.

void metadone.client.parsers.grasyla.AST_script.addRequires ( String  req)

Adds a required feature.

Parameters:
reqThe requirement

References metadone.client.parsers.grasyla.AST_script.requires.

void metadone.client.parsers.grasyla.AST_script.addScript ( ProgLanguage  lang,
String  script 
)

Adds a initialization script.

Parameters:
langThe language
scriptThe script

References metadone.client.parsers.grasyla.AST_script.initscript.

final void metadone.client.parsers.grasyla.AST_script.addScript ( String  lang,
String  script 
)

Adds a initialization script.

Parameters:
langThe language
scriptThe script
GrasylaScript metadone.client.parsers.grasyla.AST_script.generate ( BootstrapGrasyla  grasyla) throws BadPreCondition

Generates a new grasyla script.

Parameters:
grasylaThe grasyla
Returns:
The created script
Exceptions:
BadPreConditionwhen the name is not unique or when the script couldn't be created

References metadone.metabusiness.syntax.grasyla.GrasylaScript.delete(), and metadone.client.parsers.grasyla.AST_script.name.

Referenced by metadone.client.actions.OpenGrasylaScriptAction.actionPerformed().

void metadone.client.parsers.grasyla.AST_script.generate ( GrasylaScript  gscript) throws BadPreCondition

Updates an existing script.

Parameters:
gscriptThe grasyla script
Exceptions:
BadPreCondition

References metadone.client.parsers.grasyla.AST_script.generate_update().

void metadone.client.parsers.grasyla.AST_script.generate_update ( GrasylaScript  gscript) throws BadPreCondition [private]

References metadone.metabusiness.ConcreteModel.createObject(), metadone.metabusiness.ConcreteObject.createProperty(), metadone.metabusiness.ConcreteModel.createRole(), metadone.client.parsers.grasyla.AST_script.definitionsBuilt, metadone.metabusiness.WorkspaceObject.delete(), metadone.client.parsers.grasyla.AST_equation.delete_static(), metadone.client.parsers.grasyla.AST_expression.delete_static(), metadone.client.parsers.grasyla.AST_script.description, metadone.client.parsers.grasyla.AST_script.equations, metadone.metabusiness.ConcreteObject.getAllConcreteRolesDomain(), metadone.metabusiness.ConcreteObject.getAllConcreteRolesDomainCO(), metadone.metabusiness.syntax.grasyla.BootstrapGrasyla.getBootsMM_GrasylaScript(), metadone.metabusiness.syntax.grasyla.BootstrapGrasyla.getBootsMO_InitScript(), metadone.metabusiness.syntax.grasyla.BootstrapGrasyla.getBootsMP_Define(), metadone.metabusiness.syntax.grasyla.BootstrapGrasyla.getBootsMP_Description(), metadone.metabusiness.syntax.grasyla.BootstrapGrasyla.getBootsMP_Eval(), metadone.metabusiness.syntax.grasyla.BootstrapGrasyla.getBootsMP_Functor(), metadone.metabusiness.syntax.grasyla.BootstrapGrasyla.getBootsMP_Lang(), metadone.metabusiness.syntax.grasyla.BootstrapGrasyla.getBootsMP_Requires(), metadone.metabusiness.syntax.grasyla.BootstrapGrasyla.getBootsMR_Def(), metadone.metabusiness.syntax.grasyla.BootstrapGrasyla.getBootsMR_Imports(), metadone.metabusiness.syntax.grasyla.BootstrapGrasyla.getBootsMR_Models(), metadone.metabusiness.syntax.grasyla.BootstrapGrasyla.getBootsMR_Root(), metadone.metabusiness.syntax.grasyla.BootstrapGrasyla.getBootsMR_Script(), metadone.metabusiness.Workspace.getBootstrap(), metadone.client.parsers.grasyla.AST_script.getDefaultFunctor(), metadone.metabusiness.ConcreteModel.getDefinitionRestricted(), metadone.metabusiness.ConcreteObject.getFilteredConcreteRolesCO(), metadone.metabusiness.syntax.grasyla.GrasylaEquation.getLHS(), metadone.util.ListUtil.getOneOf(), metadone.metabusiness.ConcreteObject.getProperties(), metadone.metabusiness.syntax.grasyla.GrasylaScript.getTarget(), metadone.metabusiness.syntax.grasyla.BootstrapGrasyla.getWorkspace(), metadone.metabusiness.WorkspaceObject.getWorkspace(), metadone.client.parsers.grasyla.AST_script.imports, metadone.client.parsers.grasyla.AST_script.initscript, metadone.client.parsers.grasyla.AST_script.models, metadone.client.parsers.grasyla.AST_script.modelToScript, metadone.client.parsers.grasyla.AST_script.name, metadone.metabusiness.WorkspaceObject.narrow2ConcreteObject(), metadone.metabusiness.WorkspaceObject.narrow2MetaModel(), metadone.client.parsers.grasyla.AST_script.requires, metadone.metabusiness.syntax.grasyla.BootstrapGrasyla.retrieveGrasylaScript(), metadone.client.parsers.grasyla.AST_script.root, metadone.metabusiness.ConcreteObject.setOnePropertyValue(), and metadone.client.parsers.grasyla.AST_script.updateMultiRole().

Referenced by metadone.client.parsers.grasyla.AST_script.generate().

String metadone.client.parsers.grasyla.AST_script.getDefaultFunctor ( )

Gets the default functor.

Returns:
The default functor (never null)

References metadone.client.parsers.grasyla.AST_script.defaultFunctor.

Referenced by metadone.client.parsers.grasyla.AST_script.generate_update().

ConcreteObject metadone.client.parsers.grasyla.AST_script.getDefinition ( String  name) [package]

Gets the concrete object built for a definition.

Parameters:
nameThe name of the definition
Returns:
The concrete object or null

References metadone.client.parsers.grasyla.AST_script.definitionsBuilt.

Referenced by metadone.client.parsers.grasyla.AST_definition.generate().

static AST_script metadone.client.parsers.grasyla.AST_script.getFromModel ( ConcreteModel  script) [static, package]

Gets the Grasyla AST from a model.

Works only during generation of the script.

Parameters:
scriptThe script model
Returns:
The AST or null

References metadone.client.parsers.grasyla.AST_script.modelToScript.

Referenced by metadone.client.parsers.grasyla.AST_definition.generate().

final String metadone.client.parsers.grasyla.AST_script.getName ( )
void metadone.client.parsers.grasyla.AST_script.setDefaultFunctor ( String  functor)

Sets the default functor.

Parameters:
functorThe functor

References metadone.client.parsers.grasyla.AST_script.defaultFunctor.

void metadone.client.parsers.grasyla.AST_script.setDescription ( String  description)

Sets the description.

Parameters:
descriptionThe new description (may be null)

References metadone.client.parsers.grasyla.AST_script.description.

static void metadone.client.parsers.grasyla.AST_script.updateMultiRole ( ConcreteModel  script,
MetaRole  role,
ConcreteObject  domain,
List< ConcreteObject ranges 
) throws BadPreCondition [static, private]

Member Data Documentation

final Map<ProgLanguage, StringBuilder> metadone.client.parsers.grasyla.AST_script.initscript = new EnumMap<ProgLanguage, StringBuilder>(ProgLanguage.class) [private]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations