public void setParent()

in taverna-scufl2-api/src/main/java/org/apache/taverna/scufl2/api/iterationstrategy/DotProduct.java [59:94]


	public void setParent(IterationStrategyParent newParent) {
		if (parent == newParent)
			return;

		if (parent != null) {
			// Remove from old parent
			if (parent instanceof IterationStrategyStack) {
				IterationStrategyStack stack = (IterationStrategyStack) parent;
				stack.remove(this);
			} else if (parent instanceof DotProduct
					|| parent instanceof CrossProduct) {
				@SuppressWarnings("unchecked")
				List<IterationStrategyNode> parentList = (List<IterationStrategyNode>) parent;
				parentList.remove(this);
			} else
				throw new IllegalArgumentException(
						"Old parent must be a IterationStrategy, DotProduct or CrossProduct: "
								+ parent);
		}

		parent = newParent;
		if (parent instanceof IterationStrategyStack) {
			IterationStrategyStack stack = (IterationStrategyStack) parent;
			if (!stack.contains(this))
				stack.add(this);
		} else if (parent instanceof DotProduct
				|| parent instanceof CrossProduct) {
			@SuppressWarnings("unchecked")
			List<IterationStrategyNode> parentList = (List<IterationStrategyNode>) parent;
			if (!parentList.contains(this))
				parentList.add(this);
		} else
			throw new IllegalArgumentException(
					"Parent must be a IterationStrategy, DotProduct or CrossProduct: "
							+ parent);
	}