package org.eclipse.uml2.diagram.sequence.internal.layout.abstractgde; import org.eclipse.uml2.diagram.sequence.internal.layout.manage.InteractionLayouter; import org.eclipse.uml2.diagram.sequence.internal.layout.model.LMFrame; import org.eclipse.uml2.diagram.sequence.internal.layout.model.LMInteractionOccurence; import org.eclipse.uml2.diagram.sequence.internal.layout.model.LMInteractionOperand; import org.eclipse.uml2.diagram.sequence.internal.layout.model.LMLifeLine; import org.eclipse.uml2.diagram.sequence.internal.layout.model.LMLifeLineBracket; import org.eclipse.uml2.diagram.sequence.internal.layout.model.LMVisibleFrameWithPentagon; import org.eclipse.uml2.diagram.sequence.internal.layout.model.MessageLabelLayouter; import org.eclipse.uml2.diagram.sequence.internal.viewmap.InvocationViewmapOptions; /** * */ public abstract class AbsElementPropertyAccess { public static AbsElementPropertyAccess getInstance(){ assert ourInstance != null; return ourInstance; }; /** * @return not null */ public abstract LMLifeLine.DetailsLayouter getLifeLineDetailsLayouter(AbsNode lifelineAbsNode); /** * @return not null */ public abstract LMFrame.BackgroundLayouter getBackgroundLayouter(AbsNode frameAbsNode); /** * @return not null */ public abstract LMInteractionOperand.DelimitLineLayouter getDelimitLineLayouter(AbsNode interactionOperandAbsNode); /** * @return not null */ public abstract LMVisibleFrameWithPentagon.PentagonLayouter getPentagonLayouter(AbsNode gdeNode); /** * @return not null */ public abstract LMInteractionOccurence.InteractionUseLayouter getInteractionUseLayouter(AbsNode interactionUseNode); //gdeNode.getProperty(SdLayoutConstants.VIEWMAPPED_AS_ALIEN_SHORTCUT) != null public abstract boolean isViewmappedAsAlienShortcut(AbsNode gdeNode); /** * @return not null */ public abstract LMLifeLineBracket.LifelineBracketHorizontalLayouter getLifelineBracketHorizontalLayouter(AbsNode lifelineBracketAbsNode); /** * @param absLink a Message * @return not null */ public abstract MessageLabelLayouter.MessageLabel[] getLabels(AbsLink absLink); public abstract InvocationViewmapOptions getInvocationViewmapOptions(AbsNode gdeNode); public abstract InteractionLayouter getInteractionLayouter(AbsNode interactionNode); public abstract boolean canAsynchCallBeStraight(AbsLink callMessage); protected AbsElementPropertyAccess() { assert ourInstance == null; ourInstance = this; } private static AbsElementPropertyAccess ourInstance = null; }