|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.mofscript.runtime.ExecutionEnvironment
public class ExecutionEnvironment
Handels the 'memory' during execution. Stores variables, handles file streams etc. Part of the RuleExecutionStack
Field Summary | |
---|---|
protected static long |
_blockCounter
|
protected java.io.OutputStream |
_currentStream
|
protected boolean |
_inPrintAction
|
protected java.util.HashMap<java.lang.String,java.lang.Object> |
_inputobjects
|
protected static int |
_lineNumber
|
protected java.lang.String |
_objectId
|
protected static java.util.Hashtable<java.io.OutputStream,TraceabilityEnvironment.OffsetCounter> |
_offsets
|
protected static java.lang.String |
_openFileUri
|
protected ExecutionEnvironment |
_parentEnv
|
protected static java.util.HashMap<java.io.OutputStream,java.io.PrintStream> |
_printStreams
|
protected static java.util.HashMap<java.lang.String,java.lang.String> |
_streamContexts
|
protected static java.util.HashMap<java.lang.String,java.io.OutputStream> |
_streams
|
protected static boolean |
_traceValue
|
Constructor Summary | |
---|---|
ExecutionEnvironment()
Default constructor |
Method Summary | |
---|---|
static void |
addBreakPoint(int lineNo,
java.lang.String file)
|
void |
addInputObject(java.lang.String name,
java.lang.Object obj)
Adds an input object |
void |
addModelVariables(java.util.List<VariableDeclaration> variables,
MOFScriptObject owner)
|
protected java.io.OutputStream |
addOutputStream(java.lang.String uri,
java.io.OutputStream stream,
java.lang.String context,
boolean append)
Adds an output stream |
void |
addVariable(Variable var)
|
void |
addVariables(java.util.List<Variable> variables)
Adds a list of variables (includes checking for exsistence) |
java.lang.Object |
assignVariableValue(java.lang.String varName,
java.lang.Object value,
AssignmentOperator operator,
Expression assignedExpression,
org.eclipse.emf.ecore.EObject varContext)
Assignes a value to a variable |
java.lang.Object |
assignVariableValue(Variable var,
java.lang.Object value,
Expression assignedExpression,
AssignmentOperator operator)
|
void |
clean()
Cleans current streams, streams and calls cleanLocal |
protected void |
cleanLocal()
Cleans the environment |
static void |
cleanResources()
Clears the resources |
void |
clearInputObject(java.lang.String name)
Clears an object with a given name |
void |
clearReferenceCache()
Clears all cached refrences |
static void |
contDebug()
|
void |
endUnprotectedBlock()
|
(package private) void |
evaluateVariables(RuleExecutor rExec)
|
protected void |
finalize()
Calls cleanLocal and finalizes |
Variable |
findVariable(java.lang.String varName,
org.eclipse.emf.ecore.EObject varContext)
Searches for a given variable name |
static java.lang.Object |
getAssignValue(java.lang.String type,
java.lang.Object input,
java.lang.Object assignValue,
AssignmentOperator operator)
Returns the assign value |
java.lang.Object |
getCachedReference(java.lang.String refName)
Retrieves an already chached refrence as an object |
static boolean |
getContDebug()
|
java.io.PrintStream |
getCurrentPrintStream()
|
java.io.OutputStream |
getCurrentStream()
|
protected java.lang.String |
getCurrentStreamUri()
Gets the current stream's URI |
FileResourcesType |
getFileModel()
Iterats the generated results and populates a EMF File Model (the frm model) |
static java.lang.String |
getIndent()
Returns the indent string |
java.lang.Object |
getInputObject(java.lang.String name)
Gets an input object |
int |
getIteratorCount()
The counter for an iterator index in a forEach The counter value is relative to the filter applied |
int |
getIteratorPosition()
The "position" of an iterator index in a forEach iterator statement, relative to the full contents of the source of the iterator - i.e. ignoring any filter on the iterator |
int |
getLineNumber()
Traceability testing |
java.io.OutputStream |
getOutputStream(java.lang.String uri)
Gets the output stream from the environment, if null returns the parent environment's output stream |
protected java.io.OutputStream |
getOutputStreamForContext(java.lang.String context)
Gets an output stream for a given context |
ExecutionEnvironment |
getParentEnvironment()
Gets the execution environment's parent environment |
protected java.io.PrintStream |
getPrintStreamForContext(java.lang.String context)
|
static java.util.Vector<java.lang.String> |
getResources()
|
static boolean |
getStepDebug()
|
static boolean |
getStopDebug()
|
boolean |
getTrace()
|
boolean |
getUseFileModel()
The value of useFileModel defines if a file model is used rather than physical files |
boolean |
getUseLog()
|
Variable |
getVariable(java.lang.String varName,
org.eclipse.emf.ecore.EObject varContext)
Fetches a variable by name |
java.lang.Object |
getVariableImplementation(java.lang.String varName,
org.eclipse.emf.ecore.EObject varContext)
|
java.lang.Object |
getVariableImplementation(Variable var)
|
java.util.Collection<Variable> |
getVariables()
|
java.lang.Object |
getVariableValue(java.lang.String varName)
|
void |
increaseIteratorCount()
Increases iterator counter |
void |
increaseIteratorPosition()
Increase position counter |
static void |
increaseLineNumber(java.lang.String s)
Traceability testing Handels line number in file |
static void |
indent()
Increases the indentation for printing |
void |
initIteratorCounters()
Resets itarator counters |
static boolean |
isBreakPoint(int lineNo,
java.lang.String context)
|
static boolean |
isDebugging()
|
boolean |
isInPrintAction()
Checks if execution is in print action |
boolean |
isUnprotectedBlock()
Checks if a block is unprotected |
void |
log(java.lang.String s)
Logs the string with date |
void |
notifyError(java.lang.String error,
ExpressionEvaluator expEval)
|
void |
notifyMessage(java.lang.String msg)
notifies about some events.... |
void |
print(java.lang.String s,
boolean println)
Prints a string to the correct context |
void |
println(java.lang.String s)
Prints the string s |
static void |
removeBreakPointAt(int lineNo,
java.lang.String file)
Removes a break point at a specific line in a specific resource |
static void |
removeBreakPoints()
|
void |
removeVariable(Variable var)
Removes a given Variable completely from the var storage |
static void |
resetBlockCounter()
|
static void |
resetDebug()
|
void |
saveTargetModel(java.lang.String fileLoc,
org.eclipse.emf.ecore.EObject model,
org.eclipse.emf.ecore.resource.Resource originalResource,
org.eclipse.emf.ecore.EObject originalModel)
|
void |
setCachedReference(java.lang.String refname,
java.lang.Object value)
Puts a refrence into the cache |
void |
setCurrentStream(java.lang.String contextReference)
Set the current stream |
void |
setCurrentStream(java.lang.String uri,
java.lang.String context,
boolean append)
Creates a new file and stream |
static void |
setDebug(boolean tf)
|
void |
setInPrintAction(boolean inPrintAction)
Sets the _inPrintAction flag |
void |
setOwnerStack(RuleExecutionStack stack)
Sets the owner stack |
void |
setParentEnvironment(ExecutionEnvironment parent)
Sets the parent environment |
static void |
setPrintContext(java.lang.String context)
Sets the print context |
void |
setRootDirectory(java.lang.String rootDir)
Defines the root directory for file generation |
static void |
setStepDebug(boolean tf)
|
static void |
setTrace(boolean tV)
Traceability testing Set if print statement and not stdout |
void |
setTypeForVariable(Variable varDecl,
java.lang.Object varValue)
Sets the type of a variable |
void |
setUnprotectedBlock(boolean unprotected)
|
void |
setUseFileModel(boolean useModel)
Defines if a file model shall be used rather than writing to physical files. |
void |
setUseLog(boolean useLog)
Defines the execution should use a system log or not. |
void |
setUseParentCache(boolean useParentCache)
Sets if the parent cache is to be used |
void |
setVariable(java.lang.String varName,
Variable val)
Puts the variable into the _variables Hashtable |
void |
startUnprotectedBlock(java.lang.String objectUri)
|
static void |
stopDebug()
|
void |
storeFiles()
Stores the OutputStream |
void |
storeInputObject(java.lang.Object ret)
|
void |
storeResource(org.eclipse.emf.ecore.resource.Resource toStore)
Stores a resorce to its current location |
void |
storeResource(org.eclipse.emf.ecore.resource.Resource toStore,
java.lang.String newLoc)
Stores a resource to a new location |
static void |
undent()
Decreases the indentation for printing |
static boolean |
useIndent()
Whether indenting is used or not |
Methods inherited from class java.lang.Object |
---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected java.util.HashMap<java.lang.String,java.lang.Object> _inputobjects
protected static java.util.HashMap<java.lang.String,java.io.OutputStream> _streams
protected static java.util.HashMap<java.io.OutputStream,java.io.PrintStream> _printStreams
protected static java.util.HashMap<java.lang.String,java.lang.String> _streamContexts
protected ExecutionEnvironment _parentEnv
protected java.io.OutputStream _currentStream
protected static int _lineNumber
protected static java.util.Hashtable<java.io.OutputStream,TraceabilityEnvironment.OffsetCounter> _offsets
protected static boolean _traceValue
protected boolean _inPrintAction
protected static java.lang.String _openFileUri
protected static long _blockCounter
protected java.lang.String _objectId
Constructor Detail |
---|
public ExecutionEnvironment()
Method Detail |
---|
public void setUseFileModel(boolean useModel)
useModel
- public boolean getUseFileModel()
public static void addBreakPoint(int lineNo, java.lang.String file)
lineNo
- file
- public static void removeBreakPoints()
public static void removeBreakPointAt(int lineNo, java.lang.String file)
lineNo
- file
- public static boolean isBreakPoint(int lineNo, java.lang.String context)
lineNo
- context
-
public static void setDebug(boolean tf)
tf
- public static boolean isDebugging()
public static boolean getStopDebug()
public static boolean getContDebug()
public static void setStepDebug(boolean tf)
public static boolean getStepDebug()
public static void stopDebug()
public static void contDebug()
public static void resetDebug()
public void setUseLog(boolean useLog)
useLog
- public boolean getUseLog()
public FileResourcesType getFileModel()
public void setRootDirectory(java.lang.String rootDir)
rootDir
- public static void indent()
public static void undent()
public static java.lang.String getIndent()
public static boolean useIndent()
public Variable getVariable(java.lang.String varName, org.eclipse.emf.ecore.EObject varContext)
varName
-
public java.util.Collection<Variable> getVariables()
public void notifyMessage(java.lang.String msg)
msg
- public void notifyError(java.lang.String error, ExpressionEvaluator expEval)
error
- public int getIteratorCount()
public int getIteratorPosition()
public void initIteratorCounters()
public void increaseIteratorCount()
public void increaseIteratorPosition()
public java.lang.Object getVariableValue(java.lang.String varName)
varName
-
public java.lang.Object getVariableImplementation(Variable var)
var
-
public java.lang.Object getVariableImplementation(java.lang.String varName, org.eclipse.emf.ecore.EObject varContext)
public void setTypeForVariable(Variable varDecl, java.lang.Object varValue)
varDecl
- varValue
- public java.lang.Object assignVariableValue(java.lang.String varName, java.lang.Object value, AssignmentOperator operator, Expression assignedExpression, org.eclipse.emf.ecore.EObject varContext)
varName
- value
- public java.lang.Object assignVariableValue(Variable var, java.lang.Object value, Expression assignedExpression, AssignmentOperator operator)
var
- val
-
public static java.lang.Object getAssignValue(java.lang.String type, java.lang.Object input, java.lang.Object assignValue, AssignmentOperator operator)
input
- assignValue
- operator
-
public void setVariable(java.lang.String varName, Variable val)
varName
- val
- public Variable findVariable(java.lang.String varName, org.eclipse.emf.ecore.EObject varContext)
varName
-
public ExecutionEnvironment getParentEnvironment()
public void setParentEnvironment(ExecutionEnvironment parent)
parent
- public void setOwnerStack(RuleExecutionStack stack)
stack
- public void addVariables(java.util.List<Variable> variables)
variables
- public void addVariable(Variable var)
var
- public void addModelVariables(java.util.List<VariableDeclaration> variables, MOFScriptObject owner)
variables
- void evaluateVariables(RuleExecutor rExec)
rExec
- public void removeVariable(Variable var)
var
- public java.lang.Object getInputObject(java.lang.String name)
name
-
public void storeInputObject(java.lang.Object ret)
public void addInputObject(java.lang.String name, java.lang.Object obj)
name
- obj
- public void clearInputObject(java.lang.String name)
name
- public void setUseParentCache(boolean useParentCache)
useParentCache
- public java.lang.Object getCachedReference(java.lang.String refName)
refName
-
public void setCachedReference(java.lang.String refname, java.lang.Object value)
refname
- value
- public void clearReferenceCache()
protected java.io.OutputStream addOutputStream(java.lang.String uri, java.io.OutputStream stream, java.lang.String context, boolean append)
uri
- stream
- context
-
protected java.io.OutputStream getOutputStreamForContext(java.lang.String context)
context
-
protected java.io.PrintStream getPrintStreamForContext(java.lang.String context)
context
-
public java.io.OutputStream getOutputStream(java.lang.String uri)
uri
-
public void setCurrentStream(java.lang.String uri, java.lang.String context, boolean append)
uri
- context
- public void setCurrentStream(java.lang.String contextReference)
contextReference
- public java.io.OutputStream getCurrentStream()
public java.io.PrintStream getCurrentPrintStream()
protected java.lang.String getCurrentStreamUri()
public void storeFiles()
public void clean()
protected void cleanLocal()
public static void setPrintContext(java.lang.String context)
context
- public void print(java.lang.String s, boolean println)
s
- println
- public void log(java.lang.String s)
s
- public void println(java.lang.String s)
s
- public static java.util.Vector<java.lang.String> getResources()
public static void cleanResources()
protected void finalize() throws java.lang.Throwable
finalize
in class java.lang.Object
java.lang.Throwable
public void setInPrintAction(boolean inPrintAction)
inPrintAction
- public boolean isInPrintAction()
public static void setTrace(boolean tV)
tV
- public boolean getTrace()
public static void increaseLineNumber(java.lang.String s)
s
- public int getLineNumber()
public static void resetBlockCounter()
public void startUnprotectedBlock(java.lang.String objectUri)
objectUri
- public void endUnprotectedBlock()
public boolean isUnprotectedBlock()
public void setUnprotectedBlock(boolean unprotected)
public void saveTargetModel(java.lang.String fileLoc, org.eclipse.emf.ecore.EObject model, org.eclipse.emf.ecore.resource.Resource originalResource, org.eclipse.emf.ecore.EObject originalModel)
targetFile
- model
- originalResource
- --> the resource that was associated the model originallypublic void storeResource(org.eclipse.emf.ecore.resource.Resource toStore)
toStore
- public void storeResource(org.eclipse.emf.ecore.resource.Resource toStore, java.lang.String newLoc)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |