From 26b872bb194ec7622997914bba53309a94b64d20 Mon Sep 17 00:00:00 2001 From: Andrew Shadura Date: Tue, 21 Jul 2015 14:52:03 +0200 Subject: Imported Upstream version 8024 --- .../plantuml/hector2/mpos/MutationLayerMove.java | 66 ++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 src/net/sourceforge/plantuml/hector2/mpos/MutationLayerMove.java (limited to 'src/net/sourceforge/plantuml/hector2/mpos/MutationLayerMove.java') diff --git a/src/net/sourceforge/plantuml/hector2/mpos/MutationLayerMove.java b/src/net/sourceforge/plantuml/hector2/mpos/MutationLayerMove.java new file mode 100644 index 0000000..89abc6b --- /dev/null +++ b/src/net/sourceforge/plantuml/hector2/mpos/MutationLayerMove.java @@ -0,0 +1,66 @@ +/* ======================================================================== + * PlantUML : a free UML diagram generator + * ======================================================================== + * + * (C) Copyright 2009-2014, Arnaud Roques + * + * Project Info: http://plantuml.sourceforge.net + * + * This file is part of PlantUML. + * + * Licensed under The MIT License (Massachusetts Institute of Technology License) + * + * See http://opensource.org/licenses/MIT + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR + * IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * + * Original Author: Arnaud Roques + */ +package net.sourceforge.plantuml.hector2.mpos; + +import net.sourceforge.plantuml.cucadiagram.IEntity; +import net.sourceforge.plantuml.hector2.layering.Layer; + +public class MutationLayerMove implements MutationLayer { + + private final Layer layer; + private final IEntity entity; + private final int newLongitude; + + public MutationLayerMove(Layer layer, IEntity entity, int newLongitude) { + this.layer = layer; + this.entity = entity; + this.newLongitude = newLongitude; + } + + public Layer mute() { + final Layer result = layer.duplicate(); + result.put(entity, newLongitude); + return result; + } + + public Layer getOriginal() { + return layer; + } + + @Override + public String toString() { + return "{" + layer.getId() + "} " + entity + " moveto " + newLongitude; + } +} -- cgit v1.2.3