org.andromda.metafacades.uml14.FrontEndPseudostateLogicImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of andromda-metafacades-uml14 Show documentation
Show all versions of andromda-metafacades-uml14 Show documentation
The UML 1.4 metafacades. This is the set of UML 1.4 metafacades
implementations. These implement the common UML metafacades.
The newest version!
package org.andromda.metafacades.uml14;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
import org.andromda.metafacades.uml.ActivityGraphFacade;
import org.andromda.metafacades.uml.FrontEndAction;
import org.andromda.metafacades.uml.FrontEndActivityGraph;
import org.andromda.metafacades.uml.FrontEndForward;
import org.andromda.metafacades.uml.FrontEndUseCase;
import org.andromda.metafacades.uml.StateMachineFacade;
import org.andromda.metafacades.uml.TransitionFacade;
import org.andromda.metafacades.uml.UseCaseFacade;
/**
* MetafacadeLogic implementation for org.andromda.metafacades.uml.FrontEndPseudostate.
*
* @see org.andromda.metafacades.uml.FrontEndPseudostate
* @author Bob Fields
*/
public class FrontEndPseudostateLogicImpl
extends FrontEndPseudostateLogic
{
private static final long serialVersionUID = -3741898725444635931L;
/**
* @param metaObject
* @param context
*/
public FrontEndPseudostateLogicImpl(
Object metaObject,
String context)
{
super(metaObject, context);
}
/**
* @see org.andromda.metafacades.uml.FrontEndPseudostate#isContainedInFrontEndUseCase()
*/
@Override
protected boolean handleIsContainedInFrontEndUseCase()
{
return this.getStateMachine() instanceof FrontEndActivityGraph;
}
/**
* @see org.andromda.metafacades.uml.FrontEndPseudostate#getContainerActions()
*/
@Override
protected List handleGetContainerActions()
{
final Collection actionSet = new LinkedHashSet();
final StateMachineFacade graphContext = getStateMachine();
if (graphContext instanceof ActivityGraphFacade)
{
final UseCaseFacade useCase = ((ActivityGraphFacade)graphContext).getUseCase();
if (useCase instanceof FrontEndUseCase)
{
for (
final Iterator actionIterator = ((FrontEndUseCase)useCase).getActions().iterator();
actionIterator.hasNext();)
{
final FrontEndAction action = (FrontEndAction)actionIterator.next();
final Collection transitions = action.getTransitions();
for (final Iterator transitionIterator = transitions.iterator(); transitionIterator.hasNext();)
{
TransitionFacade transition = (TransitionFacade)transitionIterator.next();
if (this.equals(transition.getTarget()))
{
actionSet.add(action);
}
}
}
}
}
return new ArrayList(actionSet);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy