org.plasma.sdo.PlasmaDataLink Maven / Gradle / Ivy
/**
* PlasmaSDO™ License
*
* This is a community release of PlasmaSDO™, a dual-license
* Service Data Object (SDO) 2.1 implementation.
* This particular copy of the software is released under the
* version 2 of the GNU General Public License. PlasmaSDO™ was developed by
* TerraMeta Software, Inc.
*
* Copyright (c) 2013, TerraMeta Software, Inc. All rights reserved.
*
* General License information can be found below.
*
* This distribution may include materials developed by third
* parties. For license and attribution notices for these
* materials, please refer to the documentation that accompanies
* this distribution (see the "Licenses for Third-Party Components"
* appendix) or view the online documentation at
* .
*
*/
package org.plasma.sdo;
import org.plasma.sdo.core.CoreEdge;
import org.plasma.sdo.core.TraversalDirection;
public class PlasmaDataLink extends CoreEdge
implements PlasmaEdge
{
protected PlasmaNode left;
protected PlasmaNode right;
@SuppressWarnings("unused")
private PlasmaDataLink() {}
public PlasmaDataLink(PlasmaNode left, PlasmaNode right) {
this.left = left;
this.right = right;
}
public boolean canTraverse(PlasmaNode fromNode) {
return this.getDirection() == TraversalDirection.RIGHT && left.equals(fromNode);
}
public PlasmaNode getOpposite(PlasmaNode fromNode) {
if (this.left.equals(fromNode))
return right;
else if (this.right.equals(fromNode))
return left;
else
throw new IllegalArgumentException("given node '"
+ fromNode.getUUIDAsString() + "' not found");
}
public PlasmaNode getLeft() {
return left;
}
public void setLeft(PlasmaNode left) {
this.left = left;
}
public PlasmaNode getRight() {
return right;
}
public void setRight(PlasmaNode right) {
this.right = right;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy