/** * <p>Copyright: Copyright (c) 2009</p> * <p>Company: �������ӹɷ����޹�˾</p> */ package com.hundsun.ares.studio.internal.core; import java.util.List; import com.hundsun.ares.studio.core.IARESElement; /** * ARESElement��Info�ࡣ * @author sundl */ public class ARESElementInfo { protected IARESElement[] children = ARESElement.NO_CHILDREN; protected ARESElementInfo() {} public void addChild(IARESElement child) { if(children.length == 0) { children = new IARESElement[] {child}; } else { int length = children.length; for (int i = 0; i < length; i++) { if (children[i].equals(child)) return; // already included } IARESElement[] newChildren = new IARESElement[length + 1]; System.arraycopy(children, 0, newChildren, 0, length); newChildren[length] = child; this.children = newChildren; } } public IARESElement[] getChildren() { return this.children; } public void removeChild(IARESElement child) { for (int i = 0, length = this.children.length; i < length; i++) { IARESElement element = this.children[i]; if (element.equals(child)) { if (length == 1) { this.children = ARESElement.NO_CHILDREN; } else { IARESElement[] newChildren = new IARESElement[length-1]; System.arraycopy(this.children, 0, newChildren , 0, i); if (i < length-1) System.arraycopy(this.children, i+1, newChildren, i, length-1-i); this.children = newChildren; } break; } } } public void setChildren(List<IARESElement> children) { this.children = children.toArray(new IARESElement[children.size()]); } public void setChildren(IARESElement[] children) { this.children = children; } }