/******************************************************************************* * Copyright (c) 2006-2012 * Software Technology Group, Dresden University of Technology * DevBoost GmbH, Berlin, Amtsgericht Charlottenburg, HRB 140026 * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Software Technology Group - TU Dresden, Germany; * DevBoost GmbH - Berlin, Germany * - initial API and implementation ******************************************************************************/ package org.reuseware.lacome.strategy; import java.util.ArrayList; import java.util.List; /** * A composition strategies combines a set of arrangers. */ public class DiagramCompositionStrategy { private String iD; private List<String> arrangerIDs = new ArrayList<String>(); private List<String> deactivateMergerIDs = new ArrayList<String>(); /** * Constructs a composition strategy with the given ID. * * @param iD ID of the composition strategy */ public DiagramCompositionStrategy(String iD) { super(); this.iD = iD; } /** * @return ID of the composition strategy */ public String getID() { return iD; } /** * @return modifiable list of arranger IDs that belong to this strategy */ public List<String> getArrangerIDs() { return arrangerIDs; } /** * Mergers that would work for a given model (i.e., <code>DiagramMerger.canMerge</code> * returns true) can be explicitly de-activated for a strategy. * * @return modifiable list of mergers that should be explicitly NOT used * if this strategy is applied */ public List<String> getDeactivateMergerIDs() { return deactivateMergerIDs; } }