ConForM.CoopnTools.CoKer.SpecMgr
Class SpecMgr

java.lang.Object
  |
  +--ConForM.CoopnTools.CoKer.SpecMgr.SpecMgr

public class SpecMgr
extends java.lang.Object

Specification Manager. This class essentially defines the services provided by the specification manager.


Field Summary
static java.lang.String VERSION
          specification Manager version;
 
Constructor Summary
SpecMgr(CoopnMgr coopnMgr, CoopnEnv env)
          Constructor.
 
Method Summary
 void addAssociatedClassCreationVariable(java.lang.String specName, java.lang.String varName, java.lang.String type, java.lang.String originType)
          Associate a class creation variable to the spec.
 void addAssociatedClassDestructionVariable(java.lang.String specName, java.lang.String varName, java.lang.String type, java.lang.String originType)
          Associate a class destruction variable to the spec.
 void addAssociatedClassGateVariable(java.lang.String specName, java.lang.String varName, java.lang.String type, java.lang.String originType)
          Associate a class gate variable to the spec.
 void addAssociatedClassMethodVariable(java.lang.String specName, java.lang.String varName, java.lang.String type, java.lang.String originType)
          Associate a class method variable to the spec.
 void addAssociatedConstraint(java.lang.String specName, java.lang.String constraintName)
          Associate a constraint to the spec.
 void addAssociatedContextGateVariable(java.lang.String specName, java.lang.String varName, java.lang.String type)
          Associate a context gate variable to the spec.
 void addAssociatedContextMethodVariable(java.lang.String specName, java.lang.String varName, java.lang.String type)
          Associate a context method variable to the spec.
 void addAssociatedGeneratorVariable(java.lang.String specName, java.lang.String varName, java.lang.String domain, java.lang.String codomain)
          Associate a generator variable to the spec.
 void addAssociatedObjectVariable(java.lang.String specName, java.lang.String varName, java.lang.String type)
          Associate an object variable to the spec.
 void addAssociatedOperationVariable(java.lang.String specName, java.lang.String varName, java.lang.String domain, java.lang.String codomain)
          Associate an operation variable to the spec.
 void addAssociatedScenario(java.lang.String specName, java.lang.String scenarioName)
          Associate a scenario to the spec.
 void addAssociatedSortVariable(java.lang.String specName, java.lang.String varName)
          Associate a sort variable to the spec.
 void addAssociatedSource(java.lang.String specName, java.lang.String sourceName)
          Associate a source to the spec.
 void addAssociatedTermVariable(java.lang.String specName, java.lang.String varName, java.lang.String varType)
          Associate a term variable to the spec.
 void addAssociatedTest(java.lang.String specName, java.lang.String testName)
          Associate a test to the spec.
 void addAssociatedTypeVariable(java.lang.String specName, java.lang.String varName)
          Associate a type variable to the spec.
 void addClassCreationSymbolVariable(java.lang.String specName, SpecBiRelationnalVariableSymbol symbol)
          Add a class creation variable symbol.
 void addClassDestructionSymbolVariable(java.lang.String specName, SpecBiRelationnalVariableSymbol symbol)
          Add a class destruction variable symbol.
 void addClassGateSymbolVariable(java.lang.String specName, SpecBiRelationnalVariableSymbol symbol)
          Add a class gate variable symbol.
 void addClassMethodSymbolVariable(java.lang.String specName, SpecBiRelationnalVariableSymbol symbol)
          Add a class method variable symbol.
 void addConstraint(java.lang.String specName, SpecConstraintSymbol symbol)
          Add a constraint symbol.
 void addContextGateSymbolVariable(java.lang.String specName, SpecRelationnalVariableSymbol symbol)
          Add a context gate variable symbol.
 void addContextMethodSymbolVariable(java.lang.String specName, SpecRelationnalVariableSymbol symbol)
          Add a context method variable symbol.
 void addGeneratorSymbolVariable(java.lang.String specName, SpecFunctionnalVariableSymbol symbol)
          Add a generator variable symbol.
 void addObjectSymbolVariable(java.lang.String specName, SpecParamVariableSymbol symbol)
          Add an object variable symbol.
 void addOperationSymbolVariable(java.lang.String specName, SpecFunctionnalVariableSymbol symbol)
          Add an operation variable symbol.
 void addScenario(java.lang.String specName, SpecScenarioSymbol symbol)
          Add a scenario symbol.
 void addSortSymbolVariable(java.lang.String specName, SpecVariableSymbol symbol)
          Add a sort variable symbol.
 void addSource(java.lang.String specName, SpecSourceSymbol symbol)
          Add a source module symbol.
 void addTermVariable(java.lang.String specName, SpecParamVariableSymbol symbol)
          Add a term variable symbol.
 void addTest(java.lang.String specName, SpecTestSymbol symbol)
          Add a test symbol.
 void addTypeSymbolVariable(java.lang.String specName, SpecVariableSymbol symbol)
          Add a type variable symbol.
 CoopnMgr coopnMgr()
          Get the associated coopn manager.
 void createSpecification(java.lang.String specName, java.lang.String comment)
          Creates a specification.
 java.lang.String displayComment(java.lang.String elem)
          Comment to String conversion.
 java.lang.String displayModuleName(java.lang.String elem)
          ModuleName to String conversion.
 java.lang.String displayName(java.lang.String elem)
          Name to String conversion.
 void dispose()
          Leave a package manager.
 java.lang.String evalComment(java.lang.String string)
          String to comment conversion.
 java.lang.String evalModuleName(java.lang.String string)
          String to ModuleName conversion.
 java.lang.String evalName(java.lang.String string)
          String to Name conversion.
 SpecModule getAndObserveSpecModule(java.lang.String specName, SpecModuleObserver observer)
          Get a specification module and register a specification module observer.
 java.lang.String[] getDependencies(java.lang.String name)
          Get the dependencies of a specification.
 SpecModule getModule(java.lang.String SpecName)
          Get a specification module.
 CoopnSpec getSpecification(java.lang.String specName)
          Get a specification.
 CoopnUser lockSpecModule(java.lang.String specName, CoopnUser user)
          Lock a specification module.
 void modifyComment(java.lang.String specName, java.lang.String comment)
          Change the comment of a specification.
 void reloadSpecModule(java.lang.String specName)
          Reload a specification module from the disk.
 void removeAssociatedSource(java.lang.String specName, java.lang.String sourceName)
          Remove an associated source from the spec.
 void removeClassCreationSymbolVariable(java.lang.String specName, SpecBiRelationnalVariableSymbol symbol)
          Remove a class creation variable symbol.
 void removeClassDestructionSymbolVariable(java.lang.String specName, SpecBiRelationnalVariableSymbol symbol)
          Remove a class destruction variable symbol.
 void removeClassGateSymbolVariable(java.lang.String specName, SpecBiRelationnalVariableSymbol symbol)
          Remove a class gate variable symbol.
 void removeClassMethodSymbolVariable(java.lang.String specName, SpecBiRelationnalVariableSymbol symbol)
          Remove a class method variable symbol.
 void removeConstraint(java.lang.String specName, SpecConstraintSymbol symbol)
          Remove a constraint symbol.
 void removeContextGateSymbolVariable(java.lang.String specName, SpecRelationnalVariableSymbol symbol)
          Remove a context gate variable symbol.
 void removeContextMethodSymbolVariable(java.lang.String specName, SpecRelationnalVariableSymbol symbol)
          Remove a context method variable symbol.
 void removeGeneratorSymbolVariable(java.lang.String specName, SpecFunctionnalVariableSymbol symbol)
          Remove a generator variable symbol.
 void removeObjectSymbolVariable(java.lang.String specName, SpecParamVariableSymbol symbol)
          Remove an object variable symbol.
 void removeOperationSymbolVariable(java.lang.String specName, SpecFunctionnalVariableSymbol symbol)
          Remove an operation variable symbol.
 void removeScenario(java.lang.String specName, SpecScenarioSymbol symbol)
          Remove a scenario symbol.
 void removeSortSymbolVariable(java.lang.String specName, SpecVariableSymbol symbol)
          Remove a sort variable symbol.
 void removeSource(java.lang.String specName, SpecSourceSymbol symbol)
          Remove a source module symbol.
 void removeTermVariable(java.lang.String specName, SpecParamVariableSymbol symbol)
          Remove a term variable symbol.
 void removeTest(java.lang.String specName, SpecTestSymbol symbol)
          Remove a test symbol.
 void removeTypeSymbolVariable(java.lang.String specName, SpecVariableSymbol symbol)
          Remove a type variable symbol.
 void syncSpecModule(java.lang.String specName)
          Sync a specification module.
 void unlockSpecModule(java.lang.String specName)
          Unlock a specification module.
 void unregisterObserver(java.lang.String specName, SpecModuleObserver observer)
          unregister a specification module observer.
 void updateSpecification(CoopnSpec spec)
          Update a specification.
 void use()
          Uses an aspect manager.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VERSION

public static final java.lang.String VERSION
specification Manager version;
Constructor Detail

SpecMgr

public SpecMgr(CoopnMgr coopnMgr,
               CoopnEnv env)
        throws java.lang.IllegalArgumentException
Constructor. Build and use a new specification manager.
Parameters:
coopnMgr - the associated co-opn manager
env - the environment of the spec manager
Throws:
java.lang.IllegalArgumentException - the environment is absent or inconsistent.
Method Detail

use

public void use()
Uses an aspect manager.

dispose

public void dispose()
Leave a package manager. This method release the resources used by this manager, if it is not used any more.

coopnMgr

public CoopnMgr coopnMgr()
Get the associated coopn manager.

getSpecification

public CoopnSpec getSpecification(java.lang.String specName)
                           throws java.lang.IllegalArgumentException
Get a specification. Return the desired specification.
Parameters:
specName - the spec name
Returns:
an instance of the specification module.
Throws:
java.lang.IllegalArgumentException - Specification not found, or erroneous; problem with the environment.

updateSpecification

public void updateSpecification(CoopnSpec spec)
                         throws java.lang.IllegalArgumentException
Update a specification. The specification is updated with regards to the current state of the specification module. However, the source module part of the specification is not updated. In other words, modifications in the CO-OPN source modules are not taken into account by this method. To achieve these goal, users should create and get a new specification by means of a call to the method getSpecification(). If the new specification is erroneous, not found, and so on, an IllegalArgumentException is thrown, after the maximal partial completion of the update. In any case, specification is consistent.
Parameters:
spec - the specification, an object wich should be a correct specification and which is about to be modified by this method
Throws:
java.lang.IllegalArgumentException - Specification not found, or erroneous; problem with the environment. In any case, the specification is updated as much as possible.

getDependencies

public java.lang.String[] getDependencies(java.lang.String name)
                                   throws java.lang.IllegalArgumentException
Get the dependencies of a specification. An up-to-date version of the module is found, and its dependencies are returned. In other words, this methods returns the list of all coopn modules necessitated to "execute" this spec.
Parameters:
name - the specification name
Returns:
an array of strings containing all dependencies.
Throws:
java.lang.IllegalArgumentException - the module cannot be delivered (because it is not found, erroneous, and so on).

getModule

public SpecModule getModule(java.lang.String SpecName)
                     throws java.lang.IllegalArgumentException
Get a specification module. Return the desired spec module.
Parameters:
specName - the spec name
Returns:
an unmodifiable instance of the specification module, or null if the module is not found or erroneous.
Throws:
java.lang.IllegalArgumentException - problem with the environment.

getAndObserveSpecModule

public SpecModule getAndObserveSpecModule(java.lang.String specName,
                                          SpecModuleObserver observer)
                                   throws java.lang.IllegalArgumentException
Get a specification module and register a specification module observer. Return the desired spec module.
Parameters:
specName - the spec name
observer - the spec module observer
Returns:
an unmodifiable instance of the spec module, or null if the module is not found or erroneous.
Throws:
java.lang.IllegalArgumentException - problem with the environment.

unregisterObserver

public void unregisterObserver(java.lang.String specName,
                               SpecModuleObserver observer)
unregister a specification module observer.
Parameters:
specName - the specification name
observer - the specification module observer
Throws:
java.lang.IllegalArgumentException - A problem occured with the environment.

lockSpecModule

public CoopnUser lockSpecModule(java.lang.String specName,
                                CoopnUser user)
Lock a specification module. Only one lock may exist on a spec module at the same time. Only locked modules may be modified.
Parameters:
specName - the specification to lock
user - the user who want to acquire the lock
Returns:
null iff this operation succeeded, i.e. if the lock is granted; the user which already has the lock else.
Throws:
java.lang.IllegalArgumentException - an argument is illegal

unlockSpecModule

public void unlockSpecModule(java.lang.String specName)
Unlock a specification module. If the module was locked, it is stored on disk (if needed). Else, nothing happens...

syncSpecModule

public void syncSpecModule(java.lang.String specName)
Sync a specification module. If the module was locked, it is stored on disk (if needed). Else, nothing happens...

createSpecification

public void createSpecification(java.lang.String specName,
                                java.lang.String comment)
                         throws java.lang.IllegalAccessException
Creates a specification.
Parameters:
specName - the spec name
comment - the associated comment; may be null
Throws:
java.lang.IllegalArgumentException - problem with arguments.
java.lang.IllegalAccessException - the package is not locked.

reloadSpecModule

public void reloadSpecModule(java.lang.String specName)
                      throws java.lang.IllegalAccessException
Reload a specification module from the disk.
Parameters:
specName - the spec name
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

modifyComment

public void modifyComment(java.lang.String specName,
                          java.lang.String comment)
                   throws java.lang.IllegalAccessException
Change the comment of a specification.
Parameters:
specName - the spec name
comment - the new comment, or null of no comment
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

addSource

public void addSource(java.lang.String specName,
                      SpecSourceSymbol symbol)
               throws java.lang.IllegalAccessException
Add a source module symbol.
Parameters:
specName - the spec name
symbol - the source module symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

removeSource

public void removeSource(java.lang.String specName,
                         SpecSourceSymbol symbol)
                  throws java.lang.IllegalAccessException
Remove a source module symbol.
Parameters:
specName - the spec name
symbol - the source module symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

addAssociatedSource

public void addAssociatedSource(java.lang.String specName,
                                java.lang.String sourceName)
Associate a source to the spec. If the source is already associated to the spec, does nothing. The specification does not have to be locked. This method DOES NOT change the last modified time of the specification file.
Parameters:
specName - the spec name
sourceName - the source name
Throws:
java.lang.IllegalArgumentException - the specification is not found.

removeAssociatedSource

public void removeAssociatedSource(java.lang.String specName,
                                   java.lang.String sourceName)
Remove an associated source from the spec. If the source is not already associated to the spec, does nothing. The specification does not have to be locked. This method DOES NOT change the last modified time of the specification file.
Parameters:
specName - the spec name
sourceName - the source name
Throws:
java.lang.IllegalArgumentException - the specification is not found.

addAssociatedConstraint

public void addAssociatedConstraint(java.lang.String specName,
                                    java.lang.String constraintName)
Associate a constraint to the spec. If the constraint is already associated to the spec, does nothing. The specification does not have to be locked. This method DOES NOT chnage the last modified time of the specification file.
Parameters:
specName - the spec name
constraintName - the constraint name
Throws:
java.lang.IllegalArgumentException - the specification is not found.

addAssociatedScenario

public void addAssociatedScenario(java.lang.String specName,
                                  java.lang.String scenarioName)
Associate a scenario to the spec. If the scenario is already associated to the spec, does nothing. The specification does not have to be locked. This method DOES NOT chnage the last modified time of the specification file.
Parameters:
specName - the spec name
scenarioName - the scenario name
Throws:
java.lang.IllegalArgumentException - the specification is not found.

addAssociatedTest

public void addAssociatedTest(java.lang.String specName,
                              java.lang.String testName)
Associate a test to the spec. If the test is already associated to the spec, does nothing. The specification does not have to be locked. This method DOES NOT chnage the last modified time of the specification file.
Parameters:
specName - the spec name
testName - the test name
Throws:
java.lang.IllegalArgumentException - the specification is not found.

addAssociatedTermVariable

public void addAssociatedTermVariable(java.lang.String specName,
                                      java.lang.String varName,
                                      java.lang.String varType)
Associate a term variable to the spec. If the variable is already associated to the spec, does nothing. The specification does not have to be locked. This method DOES NOT chnage the last modified time of the specification file.
Parameters:
specName - the spec name
varName - the variable name
varType - the variable type
Throws:
java.lang.IllegalArgumentException - the specification is not found.

addAssociatedSortVariable

public void addAssociatedSortVariable(java.lang.String specName,
                                      java.lang.String varName)
Associate a sort variable to the spec. If the variable is already associated to the spec, does nothing. The specification does not have to be locked. This method DOES NOT chnage the last modified time of the specification file.
Parameters:
specName - the spec name
varName - the variable name
Throws:
java.lang.IllegalArgumentException - the specification is not found.

addAssociatedTypeVariable

public void addAssociatedTypeVariable(java.lang.String specName,
                                      java.lang.String varName)
Associate a type variable to the spec. If the variable is already associated to the spec, does nothing. The specification does not have to be locked. This method DOES NOT chnage the last modified time of the specification file.
Parameters:
specName - the spec name
varName - the variable name
Throws:
java.lang.IllegalArgumentException - the specification is not found.

addAssociatedGeneratorVariable

public void addAssociatedGeneratorVariable(java.lang.String specName,
                                           java.lang.String varName,
                                           java.lang.String domain,
                                           java.lang.String codomain)
Associate a generator variable to the spec. If the variable is already associated to the spec, does nothing. The specification does not have to be locked. This method DOES NOT chnage the last modified time of the specification file.
Parameters:
specName - the spec name
varName - the variable name
domain - the domain
codomain - the codomain
Throws:
java.lang.IllegalArgumentException - the specification is not found.

addAssociatedOperationVariable

public void addAssociatedOperationVariable(java.lang.String specName,
                                           java.lang.String varName,
                                           java.lang.String domain,
                                           java.lang.String codomain)
Associate an operation variable to the spec. If the variable is already associated to the spec, does nothing. The specification does not have to be locked. This method DOES NOT chnage the last modified time of the specification file.
Parameters:
specName - the spec name
varName - the variable name
domain - the domain
codomain - the codomain
Throws:
java.lang.IllegalArgumentException - the specification is not found.

addAssociatedObjectVariable

public void addAssociatedObjectVariable(java.lang.String specName,
                                        java.lang.String varName,
                                        java.lang.String type)
Associate an object variable to the spec. If the variable is already associated to the spec, does nothing. The specification does not have to be locked. This method DOES NOT chnage the last modified time of the specification file.
Parameters:
specName - the spec name
varName - the variable name
type - the type
Throws:
java.lang.IllegalArgumentException - the specification is not found.

addAssociatedClassGateVariable

public void addAssociatedClassGateVariable(java.lang.String specName,
                                           java.lang.String varName,
                                           java.lang.String type,
                                           java.lang.String originType)
Associate a class gate variable to the spec. If the variable is already associated to the spec, does nothing. The specification does not have to be locked. This method DOES NOT chnage the last modified time of the specification file.
Parameters:
specName - the spec name
varName - the variable name
type - the type
originType - the origin type
Throws:
java.lang.IllegalArgumentException - the specification is not found.

addAssociatedClassMethodVariable

public void addAssociatedClassMethodVariable(java.lang.String specName,
                                             java.lang.String varName,
                                             java.lang.String type,
                                             java.lang.String originType)
Associate a class method variable to the spec. If the variable is already associated to the spec, does nothing. The specification does not have to be locked. This method DOES NOT chnage the last modified time of the specification file.
Parameters:
specName - the spec name
varName - the variable name
type - the type
originType - the origin type
Throws:
java.lang.IllegalArgumentException - the specification is not found.

addAssociatedClassCreationVariable

public void addAssociatedClassCreationVariable(java.lang.String specName,
                                               java.lang.String varName,
                                               java.lang.String type,
                                               java.lang.String originType)
Associate a class creation variable to the spec. If the variable is already associated to the spec, does nothing. The specification does not have to be locked. This method DOES NOT chnage the last modified time of the specification file.
Parameters:
specName - the spec name
varName - the variable name
type - the type
originType - the origin type
Throws:
java.lang.IllegalArgumentException - the specification is not found.

addAssociatedClassDestructionVariable

public void addAssociatedClassDestructionVariable(java.lang.String specName,
                                                  java.lang.String varName,
                                                  java.lang.String type,
                                                  java.lang.String originType)
Associate a class destruction variable to the spec. If the variable is already associated to the spec, does nothing. The specification does not have to be locked. This method DOES NOT chnage the last modified time of the specification file.
Parameters:
specName - the spec name
varName - the variable name
type - the type
originType - the origin type
Throws:
java.lang.IllegalArgumentException - the specification is not found.

addAssociatedContextGateVariable

public void addAssociatedContextGateVariable(java.lang.String specName,
                                             java.lang.String varName,
                                             java.lang.String type)
Associate a context gate variable to the spec. If the variable is already associated to the spec, does nothing. The specification does not have to be locked. This method DOES NOT chnage the last modified time of the specification file.
Parameters:
specName - the spec name
varName - the variable name
type - the type
Throws:
java.lang.IllegalArgumentException - the specification is not found.

addAssociatedContextMethodVariable

public void addAssociatedContextMethodVariable(java.lang.String specName,
                                               java.lang.String varName,
                                               java.lang.String type)
Associate a context method variable to the spec. If the variable is already associated to the spec, does nothing. The specification does not have to be locked. This method DOES NOT chnage the last modified time of the specification file.
Parameters:
specName - the spec name
varName - the variable name
type - the type
Throws:
java.lang.IllegalArgumentException - the specification is not found.

addConstraint

public void addConstraint(java.lang.String specName,
                          SpecConstraintSymbol symbol)
                   throws java.lang.IllegalAccessException
Add a constraint symbol.
Parameters:
specName - the spec name
symbol - the symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

removeConstraint

public void removeConstraint(java.lang.String specName,
                             SpecConstraintSymbol symbol)
                      throws java.lang.IllegalAccessException
Remove a constraint symbol.
Parameters:
specName - the spec name
symbol - the symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

addScenario

public void addScenario(java.lang.String specName,
                        SpecScenarioSymbol symbol)
                 throws java.lang.IllegalAccessException
Add a scenario symbol.
Parameters:
specName - the spec name
symbol - the symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

removeScenario

public void removeScenario(java.lang.String specName,
                           SpecScenarioSymbol symbol)
                    throws java.lang.IllegalAccessException
Remove a scenario symbol.
Parameters:
specName - the spec name
symbol - the symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

addTest

public void addTest(java.lang.String specName,
                    SpecTestSymbol symbol)
             throws java.lang.IllegalAccessException
Add a test symbol.
Parameters:
specName - the spec name
symbol - the symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

removeTest

public void removeTest(java.lang.String specName,
                       SpecTestSymbol symbol)
                throws java.lang.IllegalAccessException
Remove a test symbol.
Parameters:
specName - the spec name
symbol - the symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

addTermVariable

public void addTermVariable(java.lang.String specName,
                            SpecParamVariableSymbol symbol)
                     throws java.lang.IllegalAccessException
Add a term variable symbol.
Parameters:
specName - the spec name
symbol - the term variable symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

removeTermVariable

public void removeTermVariable(java.lang.String specName,
                               SpecParamVariableSymbol symbol)
                        throws java.lang.IllegalAccessException
Remove a term variable symbol.
Parameters:
specName - the spec name
symbol - the term variable symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

addSortSymbolVariable

public void addSortSymbolVariable(java.lang.String specName,
                                  SpecVariableSymbol symbol)
                           throws java.lang.IllegalAccessException
Add a sort variable symbol.
Parameters:
specName - the spec name
symbol - the sort variable symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

removeSortSymbolVariable

public void removeSortSymbolVariable(java.lang.String specName,
                                     SpecVariableSymbol symbol)
                              throws java.lang.IllegalAccessException
Remove a sort variable symbol.
Parameters:
specName - the spec name
symbol - the sort variable symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

addTypeSymbolVariable

public void addTypeSymbolVariable(java.lang.String specName,
                                  SpecVariableSymbol symbol)
                           throws java.lang.IllegalAccessException
Add a type variable symbol.
Parameters:
specName - the spec name
symbol - the type variable symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

removeTypeSymbolVariable

public void removeTypeSymbolVariable(java.lang.String specName,
                                     SpecVariableSymbol symbol)
                              throws java.lang.IllegalAccessException
Remove a type variable symbol.
Parameters:
specName - the spec name
symbol - the type variable symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

addGeneratorSymbolVariable

public void addGeneratorSymbolVariable(java.lang.String specName,
                                       SpecFunctionnalVariableSymbol symbol)
                                throws java.lang.IllegalAccessException
Add a generator variable symbol.
Parameters:
specName - the spec name
symbol - the generator variable symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

removeGeneratorSymbolVariable

public void removeGeneratorSymbolVariable(java.lang.String specName,
                                          SpecFunctionnalVariableSymbol symbol)
                                   throws java.lang.IllegalAccessException
Remove a generator variable symbol.
Parameters:
specName - the spec name
symbol - the generator variable symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

addOperationSymbolVariable

public void addOperationSymbolVariable(java.lang.String specName,
                                       SpecFunctionnalVariableSymbol symbol)
                                throws java.lang.IllegalAccessException
Add an operation variable symbol.
Parameters:
specName - the spec name
symbol - the operation variable symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

removeOperationSymbolVariable

public void removeOperationSymbolVariable(java.lang.String specName,
                                          SpecFunctionnalVariableSymbol symbol)
                                   throws java.lang.IllegalAccessException
Remove an operation variable symbol.
Parameters:
specName - the spec name
symbol - the operation variable symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

addObjectSymbolVariable

public void addObjectSymbolVariable(java.lang.String specName,
                                    SpecParamVariableSymbol symbol)
                             throws java.lang.IllegalAccessException
Add an object variable symbol.
Parameters:
specName - the spec name
symbol - the object variable symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

removeObjectSymbolVariable

public void removeObjectSymbolVariable(java.lang.String specName,
                                       SpecParamVariableSymbol symbol)
                                throws java.lang.IllegalAccessException
Remove an object variable symbol.
Parameters:
specName - the spec name
symbol - the object variable symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

addClassGateSymbolVariable

public void addClassGateSymbolVariable(java.lang.String specName,
                                       SpecBiRelationnalVariableSymbol symbol)
                                throws java.lang.IllegalAccessException
Add a class gate variable symbol.
Parameters:
specName - the spec name
symbol - the class gate variable symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

removeClassGateSymbolVariable

public void removeClassGateSymbolVariable(java.lang.String specName,
                                          SpecBiRelationnalVariableSymbol symbol)
                                   throws java.lang.IllegalAccessException
Remove a class gate variable symbol.
Parameters:
specName - the spec name
symbol - the class gate variable symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

addClassMethodSymbolVariable

public void addClassMethodSymbolVariable(java.lang.String specName,
                                         SpecBiRelationnalVariableSymbol symbol)
                                  throws java.lang.IllegalAccessException
Add a class method variable symbol.
Parameters:
specName - the spec name
symbol - the class method variable symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

removeClassMethodSymbolVariable

public void removeClassMethodSymbolVariable(java.lang.String specName,
                                            SpecBiRelationnalVariableSymbol symbol)
                                     throws java.lang.IllegalAccessException
Remove a class method variable symbol.
Parameters:
specName - the spec name
symbol - the class method variable symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

addClassCreationSymbolVariable

public void addClassCreationSymbolVariable(java.lang.String specName,
                                           SpecBiRelationnalVariableSymbol symbol)
                                    throws java.lang.IllegalAccessException
Add a class creation variable symbol.
Parameters:
specName - the spec name
symbol - the class creation variable symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

removeClassCreationSymbolVariable

public void removeClassCreationSymbolVariable(java.lang.String specName,
                                              SpecBiRelationnalVariableSymbol symbol)
                                       throws java.lang.IllegalAccessException
Remove a class creation variable symbol.
Parameters:
specName - the spec name
symbol - the class creation variable symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

addClassDestructionSymbolVariable

public void addClassDestructionSymbolVariable(java.lang.String specName,
                                              SpecBiRelationnalVariableSymbol symbol)
                                       throws java.lang.IllegalAccessException
Add a class destruction variable symbol.
Parameters:
specName - the spec name
symbol - the class destruction variable symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

removeClassDestructionSymbolVariable

public void removeClassDestructionSymbolVariable(java.lang.String specName,
                                                 SpecBiRelationnalVariableSymbol symbol)
                                          throws java.lang.IllegalAccessException
Remove a class destruction variable symbol.
Parameters:
specName - the spec name
symbol - the class destruction variable symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

addContextGateSymbolVariable

public void addContextGateSymbolVariable(java.lang.String specName,
                                         SpecRelationnalVariableSymbol symbol)
                                  throws java.lang.IllegalAccessException
Add a context gate variable symbol.
Parameters:
specName - the spec name
symbol - the context gate variable symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

removeContextGateSymbolVariable

public void removeContextGateSymbolVariable(java.lang.String specName,
                                            SpecRelationnalVariableSymbol symbol)
                                     throws java.lang.IllegalAccessException
Remove a context gate variable symbol.
Parameters:
specName - the spec name
symbol - the context gate variable symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

addContextMethodSymbolVariable

public void addContextMethodSymbolVariable(java.lang.String specName,
                                           SpecRelationnalVariableSymbol symbol)
                                    throws java.lang.IllegalAccessException
Add a context method variable symbol.
Parameters:
specName - the spec name
symbol - the context method variable symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

removeContextMethodSymbolVariable

public void removeContextMethodSymbolVariable(java.lang.String specName,
                                              SpecRelationnalVariableSymbol symbol)
                                       throws java.lang.IllegalAccessException
Remove a context method variable symbol.
Parameters:
specName - the spec name
symbol - the context method variable symbol
Throws:
java.lang.IllegalArgumentException - the specification is not found.
java.lang.IllegalAccessException - the specification is not locked.

evalComment

public java.lang.String evalComment(java.lang.String string)
                             throws java.lang.IllegalArgumentException
String to comment conversion. Evaluates a string into a valid spec comment.
Parameters:
string - the string to evaluates; may be null
Returns:
the desired package comment.
Throws:
java.lang.IllegalArgumentException - the element cannot be delivered (because it is erroneous, and so on).

displayComment

public java.lang.String displayComment(java.lang.String elem)
                                throws java.lang.IllegalArgumentException
Comment to String conversion. Display a comment into a string representing it.
Parameters:
elem - the element to display; may be null
Returns:
the desired string.
Throws:
java.lang.IllegalArgumentException - the string cannot be delivered (because it is erroneous, and so on).

evalName

public java.lang.String evalName(java.lang.String string)
                          throws java.lang.IllegalArgumentException
String to Name conversion. Evaluates a string into a valid spec name.
Parameters:
string - the string to evaluates
Returns:
the desired package name as a String.
Throws:
java.lang.IllegalArgumentException - the element cannot be delivered (because it is erroneous, and so on).

displayName

public java.lang.String displayName(java.lang.String elem)
                             throws java.lang.IllegalArgumentException
Name to String conversion. Display a Name into a string representing it.
Parameters:
elem - the element to display
Returns:
the desired string.
Throws:
java.lang.IllegalArgumentException - the string cannot be delivered (because it is erroneous, and so on).

evalModuleName

public java.lang.String evalModuleName(java.lang.String string)
                                throws java.lang.IllegalArgumentException
String to ModuleName conversion. Evaluates a string into a valid spec module name.
Parameters:
string - the string to evaluates
Returns:
the desired package module name as a String.
Throws:
java.lang.IllegalArgumentException - the element cannot be delivered (because it is erroneous, and so on).

displayModuleName

public java.lang.String displayModuleName(java.lang.String elem)
                                   throws java.lang.IllegalArgumentException
ModuleName to String conversion. Display a module name into a string representing it.
Parameters:
elem - the element to display
Returns:
the desired string.
Throws:
java.lang.IllegalArgumentException - the string cannot be delivered (because it is erroneous, and so on).