de.uni_paderborn.fujaba.codegen
Class UMLStoryPatternOOHandler

java.lang.Object
  extended byde.uni_paderborn.fujaba.codegen.CodeGenStrategyHandler
      extended byde.uni_paderborn.fujaba.codegen.OOGenStrategyHandler
          extended byde.uni_paderborn.fujaba.codegen.UMLStoryPatternOOHandler

public class UMLStoryPatternOOHandler
extends OOGenStrategyHandler

Class UMLStoryPatternHandler

Version:
$Revision: 1.86.2.4 $
Author:
$Author: l3_g5 $

Field Summary
protected  java.util.HashMap boundObjects
          No comment provided by developer, please add a comment to improve documentation.
protected  java.util.HashMap isomorphicBinding
          No comment provided by developer, please add a comment to improve documentation.
protected  java.util.HashMap negApplTokens
          No comment provided by developer, please add a comment to improve documentation.
static java.lang.String TEMPORARY_ASSIGN_VAR_PREFIX
          No comment provided by developer, please add a comment to improve documentation.
static java.lang.String TEMPORARY_TYPE_CAST_VAR_NAME
          Variable name used for the type cast of an object
 
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
UMLStoryPatternOOHandler()
          Default Constructor
 
Method Summary
protected  void addAvailableLinks(UMLStoryPattern thePattern, UMLObject object)
          Access method for an one to n association.
protected  void addBindings(java.util.Map isomorphicBinding, UMLObject object, UMLClass objectType)
          Access method for a To N-association.
protected  void addBindings(java.util.Map isomorphicBinding, UMLObject object, UMLClass objectType, boolean addSuperClasses, boolean addSubClasses)
          Access method for a To N-association.
protected  boolean createNegativeLinkSearch(UMLLink umlLink, java.util.HashMap boundObjects, java.util.HashMap isomorphicBindings)
          No comment provided by developer, please add a comment to improve documentation.
 OOGenToken findBoundObjectsAndAvailableLink(UMLStoryPattern thePattern, OOGenToken prevToken)
          No comment provided by developer, please add a comment to improve documentation.
protected  OOGenToken generateCodeForAtPostOrConstraints(OOGenToken prevToken, java.util.TreeSet symTable)
          No comment provided by developer, please add a comment to improve documentation.
protected  OOGenToken generateCodeForAttrValuePairs(OOGenToken prevToken, UMLObject object)
          No comment provided by developer, please add a comment to improve documentation.
protected  OOGenToken generateCodeForAttrValuePairs(UMLObject object, OOGenToken prevToken)
          No comment provided by developer, please add a comment to improve documentation.
protected  OOGenToken generateCodeForBoundObjectChecks(OOGenToken prevToken, UMLObject object)
          No comment provided by developer, please add a comment to improve documentation.
protected  OOGenToken[] generateCodeForLink(UMLStoryPattern thePattern, OOGenToken top, UMLLink umlLink)
          No comment provided by developer, please add a comment to improve documentation.
protected  OOGenToken generateCodeForLinks(java.util.LinkedList availableLinks, OOGenToken top, UMLStoryPattern thePattern)
          No comment provided by developer, please add a comment to improve documentation.
protected  OOGenToken generateCodeForModifiedItems(UMLStoryPattern thePattern, OOGenToken prevToken)
          No comment provided by developer, please add a comment to improve documentation.
protected  OOGenToken generateCodeForMultiLink(UMLStoryPattern thePattern, OOGenToken top, UMLMultiLink multiLink)
          No comment provided by developer, please add a comment to improve documentation.
 OOGenToken generateSourceCode(FElement asgElement, OOGenToken prevToken, java.lang.Object[] param)
          No comment provided by developer, please add a comment to improve documentation.
 de.upb.tools.fca.FTreeSet getIsomorphicBindings(UMLStoryPattern thePattern, java.lang.String typeName, java.lang.String objectName)
          Get the isomorphicBindings attribute of the UMLStoryPatternOOHandler object
protected  void insertToAvailableLinks(Traversable link)
          No comment provided by developer, please add a comment to improve documentation.
protected  boolean isNavigable(UMLLink link, UMLObject source)
          Get the navigable attribute of the UMLStoryPatternOOHandler object
 boolean isResponsible(FElement incr)
          Get the responsible attribute of the UMLStoryPatternOOHandler object
protected  OOGenToken markObjectAsBound(UMLStoryPattern thePattern, OOGenToken prevToken, UMLObject object)
          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  boolean postponeLinkCodeGeneration(UMLLink umlLink, java.util.HashMap boundObjects, java.util.HashMap isomorphicBindings)
          No comment provided by developer, please add a comment to improve documentation.
 java.lang.String toString()
           
protected  void updateMultilink(UMLMultiLink multilink)
          No comment provided by developer, please add a comment to improve documentation.
 
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, setChainMaster, setContinueChain, setPrevHandler, setSuccessor
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

boundObjects

protected transient java.util.HashMap boundObjects
No comment provided by developer, please add a comment to improve documentation.


isomorphicBinding

protected transient java.util.HashMap isomorphicBinding
No comment provided by developer, please add a comment to improve documentation.


TEMPORARY_TYPE_CAST_VAR_NAME

public static final java.lang.String TEMPORARY_TYPE_CAST_VAR_NAME
Variable name used for the type cast of an object


TEMPORARY_ASSIGN_VAR_PREFIX

public static final java.lang.String TEMPORARY_ASSIGN_VAR_PREFIX
No comment provided by developer, please add a comment to improve documentation.


negApplTokens

protected java.util.HashMap negApplTokens
No comment provided by developer, please add a comment to improve documentation.

Constructor Detail

UMLStoryPatternOOHandler

public UMLStoryPatternOOHandler()
Default Constructor

Method Detail

isResponsible

public boolean isResponsible(FElement incr)
Get the responsible attribute of the UMLStoryPatternOOHandler object

Overrides:
isResponsible in class CodeGenStrategyHandler
Parameters:
incr - No description provided
Returns:
The responsible value

needToken

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

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

generateSourceCode

public OOGenToken generateSourceCode(FElement asgElement,
                                     OOGenToken prevToken,
                                     java.lang.Object[] param)
No comment provided by developer, please add a comment to improve documentation.

Overrides:
generateSourceCode in class CodeGenStrategyHandler
Parameters:
prevToken - No description provided
param - No description provided
asgElement - No description provided
Returns:
No description provided

generateCodeForLinks

protected OOGenToken generateCodeForLinks(java.util.LinkedList availableLinks,
                                          OOGenToken top,
                                          UMLStoryPattern thePattern)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
availableLinks - No description provided
top - No description provided
thePattern - No description provided
Returns:
No description provided

createNegativeLinkSearch

protected boolean createNegativeLinkSearch(UMLLink umlLink,
                                           java.util.HashMap boundObjects,
                                           java.util.HashMap isomorphicBindings)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
umlLink - No description provided
boundObjects - No description provided
isomorphicBindings - No description provided
Returns:
No description provided

postponeLinkCodeGeneration

protected boolean postponeLinkCodeGeneration(UMLLink umlLink,
                                             java.util.HashMap boundObjects,
                                             java.util.HashMap isomorphicBindings)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
umlLink - No description provided
boundObjects - No description provided
isomorphicBindings - No description provided
Returns:
No description provided

generateCodeForLink

protected OOGenToken[] generateCodeForLink(UMLStoryPattern thePattern,
                                           OOGenToken top,
                                           UMLLink umlLink)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
thePattern - No description provided
top - No description provided
umlLink - No description provided
Returns:
No description provided

generateCodeForMultiLink

protected OOGenToken generateCodeForMultiLink(UMLStoryPattern thePattern,
                                              OOGenToken top,
                                              UMLMultiLink multiLink)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
thePattern - No description provided
top - No description provided
multiLink - No description provided
Returns:
No description provided

markObjectAsBound

protected OOGenToken markObjectAsBound(UMLStoryPattern thePattern,
                                       OOGenToken prevToken,
                                       UMLObject object)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
thePattern - No description provided
prevToken - No description provided
object - No description provided
Returns:
No description provided

getIsomorphicBindings

public de.upb.tools.fca.FTreeSet getIsomorphicBindings(UMLStoryPattern thePattern,
                                                       java.lang.String typeName,
                                                       java.lang.String objectName)
Get the isomorphicBindings attribute of the UMLStoryPatternOOHandler object

Parameters:
thePattern - No description provided
typeName - No description provided
objectName - No description provided
Returns:
The isomorphicBindings value

addBindings

protected void addBindings(java.util.Map isomorphicBinding,
                           UMLObject object,
                           UMLClass objectType)
Access method for a To N-association.

Parameters:
isomorphicBinding - The object added.
object - The object added.
objectType - The object added.

addBindings

protected void addBindings(java.util.Map isomorphicBinding,
                           UMLObject object,
                           UMLClass objectType,
                           boolean addSuperClasses,
                           boolean addSubClasses)
Access method for a To N-association.

Parameters:
isomorphicBinding - The object added.
object - The object added.
objectType - The object added.
addSuperClasses - The object added.
addSubClasses - The object added.

findBoundObjectsAndAvailableLink

public OOGenToken findBoundObjectsAndAvailableLink(UMLStoryPattern thePattern,
                                                   OOGenToken prevToken)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
thePattern - No description provided
prevToken - No description provided
Returns:
No description provided

generateCodeForModifiedItems

protected OOGenToken generateCodeForModifiedItems(UMLStoryPattern thePattern,
                                                  OOGenToken prevToken)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
thePattern - No description provided
prevToken - No description provided
Returns:
No description provided

generateCodeForAtPostOrConstraints

protected OOGenToken generateCodeForAtPostOrConstraints(OOGenToken prevToken,
                                                        java.util.TreeSet symTable)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
prevToken - No description provided
symTable - No description provided
Returns:
No description provided

updateMultilink

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

Parameters:
multilink - No description provided

addAvailableLinks

protected void addAvailableLinks(UMLStoryPattern thePattern,
                                 UMLObject object)
Access method for an one to n association.

Parameters:
thePattern - The object added.
object - The object added.

isNavigable

protected boolean isNavigable(UMLLink link,
                              UMLObject source)
Get the navigable attribute of the UMLStoryPatternOOHandler object

Parameters:
link - No description provided
source - No description provided
Returns:
The navigable value

generateCodeForAttrValuePairs

protected OOGenToken generateCodeForAttrValuePairs(OOGenToken prevToken,
                                                   UMLObject object)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
prevToken - No description provided
object - No description provided
Returns:
No description provided

generateCodeForAttrValuePairs

protected OOGenToken generateCodeForAttrValuePairs(UMLObject object,
                                                   OOGenToken prevToken)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
object - No description provided
prevToken - No description provided
Returns:
No description provided

generateCodeForBoundObjectChecks

protected OOGenToken generateCodeForBoundObjectChecks(OOGenToken prevToken,
                                                      UMLObject object)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
prevToken - No description provided
object - No description provided
Returns:
No description provided

insertToAvailableLinks

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

Parameters:
link - No description provided

toString

public java.lang.String toString()
Overrides:
toString in class OOGenStrategyHandler
Returns:
short string representation of current object