de.uni_paderborn.fujaba.codegen
Class AccessorOOHandler

java.lang.Object
  extended byde.uni_paderborn.fujaba.codegen.CodeGenStrategyHandler
      extended byde.uni_paderborn.fujaba.codegen.OOGenStrategyHandler
          extended byde.uni_paderborn.fujaba.codegen.AccessorOOHandler
Direct Known Subclasses:
UMLAttrOOHandler, UMLRoleOOHandler

public abstract class AccessorOOHandler
extends OOGenStrategyHandler

Version:
$Revision: 1.12.2.3 $
Author:
Carsten Reckord

Nested Class Summary
static class AccessorOOHandler.MethodDescription
          No comment provided by developer, please add a comment to improve documentation.
 
Field Summary
 
Fields inherited from class de.uni_paderborn.fujaba.codegen.OOGenStrategyHandler
AT_POST_VARIABLE, COLLAB_STAT_BEGIN, COLLAB_STAT_END, FIND_LOWER_BOUND_ELSE_CLAUSE, FIND_LOWER_BOUND_ELSE_IF_CLAUSE, FIND_LOWER_BOUND_IF_CLAUSE, I_MULTILINK_SEARCH_NORM_BOTTOM, I_MULTILINK_SEARCH_NORM_TOP, I_MULTILINK_SEARCH_OPTIONAL_BOTTOM, I_MULTILINK_SEARCH_OPTIONAL_TOP, I_MULTILINK_SEARCH_SET, ISOMORPHIC_BINDING, ISOMORPHIC_BINDING_BODY, ISOMORPHIC_BINDING_SET, LINK_CHECK_BETWEEN_SETS, LINK_CHECK_TO_MANY, LINK_CHECK_TO_ONE, LINK_CHECK_TO_SET, LINK_CREATE, LINK_CREATE_SET, LINK_CREATE_SET_TOP, LINK_DELETE, LINK_DELETE_SET, LINK_SEARCH_TO_MANY_BOTTOM, LINK_SEARCH_TO_MANY_TOP, LINK_SEARCH_TO_ONE, LINK_SEARCH_TO_SET_BOTTOM, LINK_SEARCH_TO_SET_TOP, MULTILINK_CHECK, MULTILINK_CHECK_FIRST, MULTILINK_CHECK_LAST, MULTILINK_INSERT_OBJECT, MULTILINK_SEARCH_BOUND_TO_UNBOUND, MULTILINK_SEARCH_FIRST, MULTILINK_SEARCH_LAST, MULTILINK_SEARCH_UNBOUND_TO_BOUND, OBJECT_CREATE, OBJECT_DELETE, PATH_EXPR_CREATE, PRECONDITION_CHECK, RETURN_STAT, STORY_DIAGRAM_BOTTOM, STORY_DIAGRAM_TOP, TYPE_CAST, UML_ATTR_EXPR_PAIR
 
Constructor Summary
AccessorOOHandler()
           
 
Method Summary
 void addToGeneratedIncrs(FElement incr)
          Access method for an one to n association.
static void addToGlobalTemplateParameterListeners(TemplateParameterListener listener)
          Access method for an one to n association.
static void addToTemplateBlockNameListeners(TemplateBlockNameListener listener)
          Access method for an one to n association.
 void addToTemplateParameterListeners(TemplateParameterListener listener)
          Access method for an one to n association.
protected static java.lang.String appendParameter(de.upb.tools.fca.FHashMap templateParameters, java.lang.String parameter, java.lang.String value)
          No comment provided by developer, please add a comment to improve documentation.
static java.lang.String appendPostHook(de.upb.tools.fca.FHashMap templateParameters, java.lang.String postHook)
          No comment provided by developer, please add a comment to improve documentation.
static java.lang.String appendPreHook(de.upb.tools.fca.FHashMap templateParameters, java.lang.String preHook)
          No comment provided by developer, please add a comment to improve documentation.
protected  void changeTemplateParameters(FElement element, FAttr attr, java.lang.String blockName, de.upb.tools.fca.FHashMap templateParameters)
          No comment provided by developer, please add a comment to improve documentation.
protected abstract  FAttr createAccessorDescriptions(FElement element, java.util.Set accessors)
          No comment provided by developer, please add a comment to improve documentation.
 java.lang.String createTemplateCode(FElement element, FAttr attr, de.upb.tools.fca.FHashMap templateParameters, java.lang.String blockName)
          No comment provided by developer, please add a comment to improve documentation.
protected  void generateAccessors(FElement element)
          No comment provided by developer, please add a comment to improve documentation.
protected  void generateAttrCode(FAttr attr)
          No comment provided by developer, please add a comment to improve documentation.
protected  void generateMethod(FElement element, FAttr attr, AccessorOOHandler.MethodDescription description)
           
 OOGenToken generateSourceCode(FElement asgElement, OOGenToken prevToken, java.lang.Object[] param)
          Generate source code for the element.
abstract  FClass getTarget(FElement element, FAttr attr)
           
static java.lang.String getTemplateBlockName(java.lang.String blockName, FClass cls, FAttr attr)
           
protected abstract  java.lang.String getTemplateFileName(FElement element)
          Get the templateFileName attribute of the AccessorOOHandler object
 boolean hasInGeneratedIncrs(FElement elem)
          No comment provided by developer, please add a comment to improve documentation.
static java.util.Iterator iteratorOfGlobalTemplateParameterListeners()
          No comment provided by developer, please add a comment to improve documentation.
 boolean needToken()
          No comment provided by developer, please add a comment to improve documentation.
protected static java.lang.String prependParameter(de.upb.tools.fca.FHashMap templateParameters, java.lang.String parameter, java.lang.String value)
          No comment provided by developer, please add a comment to improve documentation.
static java.lang.String prependPostHook(de.upb.tools.fca.FHashMap templateParameters, java.lang.String postHook)
          No comment provided by developer, please add a comment to improve documentation.
static java.lang.String prependPreHook(de.upb.tools.fca.FHashMap templateParameters, java.lang.String preHook)
          No comment provided by developer, please add a comment to improve documentation.
static void removeFromGlobalTemplateParameterListeners(TemplateParameterListener listener)
          No comment provided by developer, please add a comment to improve documentation.
static void removeFromTemplateBlockNameListeners(TemplateBlockNameListener listener)
          No comment provided by developer, please add a comment to improve documentation.
 void removeFromTemplateParameterListeners(TemplateParameterListener listener)
          No comment provided by developer, please add a comment to improve documentation.
protected  void removeGeneratedIncrs()
          No comment provided by developer, please add a comment to improve documentation.
 void removeOldAccessors(FElement element)
          No comment provided by developer, please add a comment to improve documentation.
protected  void removeOldMethod(FElement element, FAttr attr, AccessorOOHandler.MethodDescription description)
          No comment provided by developer, please add a comment to improve documentation.
 
Methods inherited from class de.uni_paderborn.fujaba.codegen.OOGenStrategyHandler
toString
 
Methods inherited from class de.uni_paderborn.fujaba.codegen.CodeGenStrategyHandler
appendOOStatement, appendOOStatement, appendOOStatement, generate, generate, generate, generate, generateCode, generateSourceCode, getChainMaster, getClientOfChain, getPrevHandler, getSuccessor, incrNeedsToken, isContinueChain, isResponsible, isResponsible, setChainMaster, setContinueChain, setPrevHandler, setSuccessor
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AccessorOOHandler

public AccessorOOHandler()
Method Detail

generateSourceCode

public OOGenToken generateSourceCode(FElement asgElement,
                                     OOGenToken prevToken,
                                     java.lang.Object[] param)
Description copied from class: CodeGenStrategyHandler
Generate source code for the element. Subclasses must override this method. For backward compatibility this method is not abstract but invokes the old implementation.

Overrides:
generateSourceCode in class CodeGenStrategyHandler
Parameters:
asgElement - No description provided
prevToken - No description provided
param - No description provided
Returns:
No description provided
See Also:
CodeGenStrategyHandler.generateSourceCode(de.uni_paderborn.fujaba.metamodel.FElement, de.uni_paderborn.fujaba.codegen.OOGenToken, java.lang.Object[])

needToken

public boolean needToken()
No comment provided by developer, please add a comment to improve documentation.

Specified by:
needToken in class CodeGenStrategyHandler
Returns:
No description provided

getTemplateFileName

protected abstract java.lang.String getTemplateFileName(FElement element)
Get the templateFileName attribute of the AccessorOOHandler object

Parameters:
element - No description provided
Returns:
The templateFileName value

createAccessorDescriptions

protected abstract FAttr createAccessorDescriptions(FElement element,
                                                    java.util.Set accessors)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
element - No description provided
accessors - No description provided
Returns:
No description provided

getTarget

public abstract FClass getTarget(FElement element,
                                 FAttr attr)
Parameters:
element - element code is generated for
attr - attr passed to generateMethod(de.uni_paderborn.fujaba.metamodel.FElement, de.uni_paderborn.fujaba.metamodel.FAttr, de.uni_paderborn.fujaba.codegen.AccessorOOHandler.MethodDescription)
Returns:
the parent of the generated method

generateAccessors

protected void generateAccessors(FElement element)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
element - No description provided

generateMethod

protected void generateMethod(FElement element,
                              FAttr attr,
                              AccessorOOHandler.MethodDescription description)
Parameters:
element - No description provided
attr - No description provided
description - No description provided

generateAttrCode

protected void generateAttrCode(FAttr attr)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
attr - No description provided

createTemplateCode

public java.lang.String createTemplateCode(FElement element,
                                           FAttr attr,
                                           de.upb.tools.fca.FHashMap templateParameters,
                                           java.lang.String blockName)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
element - No description provided
attr - No description provided
templateParameters - No description provided
blockName - No description provided
Returns:
No description provided

addToGeneratedIncrs

public void addToGeneratedIncrs(FElement incr)
Access method for an one to n association.

Parameters:
incr - The object added.

hasInGeneratedIncrs

public boolean hasInGeneratedIncrs(FElement elem)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
elem - No description provided
Returns:
No description provided

removeGeneratedIncrs

protected void removeGeneratedIncrs()
No comment provided by developer, please add a comment to improve documentation.


removeOldAccessors

public void removeOldAccessors(FElement element)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
element - No description provided

removeOldMethod

protected void removeOldMethod(FElement element,
                               FAttr attr,
                               AccessorOOHandler.MethodDescription description)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
element - No description provided
attr - No description provided
description - No description provided

getTemplateBlockName

public static java.lang.String getTemplateBlockName(java.lang.String blockName,
                                                    FClass cls,
                                                    FAttr attr)
Parameters:
attr -
blockName - No description provided
cls - No description provided
Returns:
The templateBlockName value

appendPreHook

public static java.lang.String appendPreHook(de.upb.tools.fca.FHashMap templateParameters,
                                             java.lang.String preHook)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
templateParameters - No description provided
preHook - No description provided
Returns:
No description provided

appendPostHook

public static java.lang.String appendPostHook(de.upb.tools.fca.FHashMap templateParameters,
                                              java.lang.String postHook)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
templateParameters - No description provided
postHook - No description provided
Returns:
No description provided

prependPreHook

public static java.lang.String prependPreHook(de.upb.tools.fca.FHashMap templateParameters,
                                              java.lang.String preHook)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
templateParameters - No description provided
preHook - No description provided
Returns:
No description provided

prependPostHook

public static java.lang.String prependPostHook(de.upb.tools.fca.FHashMap templateParameters,
                                               java.lang.String postHook)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
templateParameters - No description provided
postHook - No description provided
Returns:
No description provided

appendParameter

protected static java.lang.String appendParameter(de.upb.tools.fca.FHashMap templateParameters,
                                                  java.lang.String parameter,
                                                  java.lang.String value)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
templateParameters - No description provided
parameter - No description provided
value - No description provided
Returns:
No description provided

prependParameter

protected static java.lang.String prependParameter(de.upb.tools.fca.FHashMap templateParameters,
                                                   java.lang.String parameter,
                                                   java.lang.String value)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
templateParameters - No description provided
parameter - No description provided
value - No description provided
Returns:
No description provided

addToTemplateBlockNameListeners

public static void addToTemplateBlockNameListeners(TemplateBlockNameListener listener)
Access method for an one to n association.

Parameters:
listener - The object added.

removeFromTemplateBlockNameListeners

public static void removeFromTemplateBlockNameListeners(TemplateBlockNameListener listener)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
listener - No description provided

addToGlobalTemplateParameterListeners

public static void addToGlobalTemplateParameterListeners(TemplateParameterListener listener)
Access method for an one to n association.

Parameters:
listener - The object added.

removeFromGlobalTemplateParameterListeners

public static void removeFromGlobalTemplateParameterListeners(TemplateParameterListener listener)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
listener - No description provided

iteratorOfGlobalTemplateParameterListeners

public static java.util.Iterator iteratorOfGlobalTemplateParameterListeners()
No comment provided by developer, please add a comment to improve documentation.

Returns:
No description provided

addToTemplateParameterListeners

public void addToTemplateParameterListeners(TemplateParameterListener listener)
Access method for an one to n association.

Parameters:
listener - The object added.

removeFromTemplateParameterListeners

public void removeFromTemplateParameterListeners(TemplateParameterListener listener)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
listener - No description provided

changeTemplateParameters

protected void changeTemplateParameters(FElement element,
                                        FAttr attr,
                                        java.lang.String blockName,
                                        de.upb.tools.fca.FHashMap templateParameters)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
element - No description provided
attr - No description provided
blockName - No description provided
templateParameters - No description provided