twaver.model
Class Link

java.lang.Object
  extended by twaver.model.Data
      extended by twaver.model.Element
          extended by twaver.model.Link
All Implemented Interfaces:
IChildList, IData, ILink, IHandler<PropertyChangeEvent>, IListener<PropertyChangeEvent>, Identifiable, IShape
Direct Known Subclasses:
LinkSubnetwork

public class Link
extends Element
implements ILink, IShape

连线类型,包含两个节点属性:起始节点from和结束节点 to 起始节点或者结束节点未设置时,称该连线无效 isInvalid() 起始节点和结束节点相同时,称为自环 isLooped() 如果起始或者结束节点放在分组中,分组合并状态时,外观上分组与连线相连, 这时此分组为代理节点getFromAgent()getToAgent() 此外还实现了IShape接口,可以添加中间路径片段addPathSegement(PathSegment) 对应的默认UI类为LinkUI


Field Summary
protected  Node from
          起始端点
protected  java.util.List<PathSegment> pathSegments
          中间路径片段集合
protected  Node to
          结束端节点
 
Fields inherited from class twaver.model.Element
alarmState, attachments, layerId, name, uiClass
 
Fields inherited from class twaver.model.Data
parent
 
Constructor Summary
Link()
          连线类型,包含两个节点属性:起始节点from和结束节点 to 起始节点或者结束节点未设置时,称该连线无效 isInvalid() 起始节点和结束节点相同时,称为自环 isLooped() 如果起始或者结束节点放在分组中,分组合并状态时,外观上分组与连线相连, 这时此分组为代理节点getFromAgent()getToAgent() 此外还可以添加中间路径片段addPathSegement(PathSegment) 对应的默认UI类为LinkUI
Link(Node from, Node to)
          指定连线的两端
 
Method Summary
 void addPathSegement(PathSegment path)
          添加路径片段
 void addPathSegement(PathSegment path, int index)
          添加路径片段
 void addPathSegments(PathSegment[] ps)
          添加路径片段
 void firePathSegmentsChanged()
          路径片段发生了变化
 Node getAnotherAgent(Node node)
          获取另一个代理节点
 Node getAnotherNode(Node node)
          获取另一端的节点
 Node getFrom()
           
 Node getFromAgent()
          获取起始端代理节点 如果起始或者结束节点放在分组中,分组合并状态时,外观上分组与连线相连,这时此分组为代理节点
 Node getOldFrom()
          最后一次设置的起始端 当连线从网元容器中删除时,连线的起始和结束端会被设置为空, 此时将无法获取连线的端点信息,而这个方法可以缓存最后一次设置的起始端
 Node getOldTo()
          最后一次设置的结束端 当连线从网元容器中删除时,连线的起始和结束端会被设置为空, 此时将无法获取连线的端点信息,而这个方法可以缓存最后一次设置的结束端
 PathSegment getPathSegment(int index)
          获取路径片段
 java.util.List<PathSegment> getPathSegments()
          获取路径片段集合
 Node getTo()
           
 Node getToAgent()
          获取结束端代理节点 如果起始或者结束节点放在分组中,分组合并状态时,外观上分组与连线相连,这时此分组为代理节点
 boolean hasPathSegments()
          是否有中间路径片段
 boolean isInvalid()
          连线是否无效,起始或者结束端点未设置时,称为无效连线
 boolean isLooped()
          是否是自环,起始和结束端点相同时,称为自环
 void movePathSegment(int index, float dx, float dy)
          移动路径片段
 void movePathSegments(float dx, float dy)
          移动路径片段
 void removePathSegment(int index)
          删除路径片段
 boolean setFrom(Node from)
          设置起始端,会派发Consts.PROPERTYNAME_LINK_FROM属性变化事件
 boolean setTo(Node to)
          设置结束端节点,如果设置成功,会派发Consts.PROPERTYNAME_LINK_TO属性变化事件
 java.util.List<PathSegment> toPathSegments()
          获取路径片段集合
 java.util.List<PathSegment> toPathSegments(java.util.List<PathSegment> list)
          获取路径片段集合
 void validateAgents()
          生效代理端点 如果起始或者结束节点放在分组中,分组合并状态时,外观上分组与连线相连,这时此分组为代理节点
 void validateFromAgent()
          生效起始端代理端点 如果起始或者结束节点放在分组中,分组合并状态时,外观上分组与连线相连,这时此分组为代理节点
 void validateToAgent()
          生效结束端点代理 如果起始或者结束节点放在分组中,分组合并状态时,外观上分组与连线相连,这时此分组为代理节点
 
Methods inherited from class twaver.model.Element
addAttachment, clearAttachments, firePropertyChangeEvent, getAlarmState, getAlarmState, getAttachment, getAttachments, getLayerId, getName, getStyle, getStyles, getStyles, getUIClass, hasAlarm, hasAttachment, hasStyle, invalidateVisibility, isVisible, isVisible, removeAttachment, removeStyle, setAlarmState, setLayerId, setName, setStyle, setUIClass, updateAttachment, updateAttachment
 
Methods inherited from class twaver.model.Data
addChild, addChild, beforeEvent, clearChildren, get, getChildAt, getChildIndex, getChildren, getChildrenCount, getId, getParent, getProperties, getProperties, hasChildren, hashCode, isDescendantOf, onChildAdd, onChildRemove, onChildrenClear, onEvent, onParentChanged, remove, removeChild, set, setChildIndex, setListener, setParent, setParent, setProperty, toChildren, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

from

protected Node from
起始端点


to

protected Node to
结束端节点


pathSegments

protected java.util.List<PathSegment> pathSegments
中间路径片段集合

Constructor Detail

Link

public Link()
连线类型,包含两个节点属性:起始节点from和结束节点 to 起始节点或者结束节点未设置时,称该连线无效 isInvalid() 起始节点和结束节点相同时,称为自环 isLooped() 如果起始或者结束节点放在分组中,分组合并状态时,外观上分组与连线相连, 这时此分组为代理节点getFromAgent()getToAgent() 此外还可以添加中间路径片段addPathSegement(PathSegment) 对应的默认UI类为LinkUI


Link

public Link(Node from,
            Node to)
指定连线的两端

Parameters:
from -
to -
Method Detail

getFrom

public Node getFrom()
Specified by:
getFrom in interface ILink

getTo

public Node getTo()
Specified by:
getTo in interface ILink

getOldFrom

public Node getOldFrom()
最后一次设置的起始端 当连线从网元容器中删除时,连线的起始和结束端会被设置为空, 此时将无法获取连线的端点信息,而这个方法可以缓存最后一次设置的起始端

Returns:
最后一次设置的起始端

getOldTo

public Node getOldTo()
最后一次设置的结束端 当连线从网元容器中删除时,连线的起始和结束端会被设置为空, 此时将无法获取连线的端点信息,而这个方法可以缓存最后一次设置的结束端

Returns:
最后一次设置的结束端

getAnotherNode

public Node getAnotherNode(Node node)
获取另一端的节点

Specified by:
getAnotherNode in interface ILink

getAnotherAgent

public Node getAnotherAgent(Node node)
获取另一个代理节点

Parameters:
node - 代理节点
Returns:
另一个代理节点

setFrom

public boolean setFrom(Node from)
设置起始端,会派发Consts.PROPERTYNAME_LINK_FROM属性变化事件

Specified by:
setFrom in interface ILink

setTo

public boolean setTo(Node to)
设置结束端节点,如果设置成功,会派发Consts.PROPERTYNAME_LINK_TO属性变化事件

Specified by:
setTo in interface ILink

isLooped

public boolean isLooped()
是否是自环,起始和结束端点相同时,称为自环

Specified by:
isLooped in interface ILink

validateAgents

public void validateAgents()
生效代理端点 如果起始或者结束节点放在分组中,分组合并状态时,外观上分组与连线相连,这时此分组为代理节点


validateFromAgent

public void validateFromAgent()
生效起始端代理端点 如果起始或者结束节点放在分组中,分组合并状态时,外观上分组与连线相连,这时此分组为代理节点


isInvalid

public boolean isInvalid()
连线是否无效,起始或者结束端点未设置时,称为无效连线

Returns:
连线是否无效

validateToAgent

public void validateToAgent()
生效结束端点代理 如果起始或者结束节点放在分组中,分组合并状态时,外观上分组与连线相连,这时此分组为代理节点


getFromAgent

public Node getFromAgent()
获取起始端代理节点 如果起始或者结束节点放在分组中,分组合并状态时,外观上分组与连线相连,这时此分组为代理节点

Returns:
起始端代理节点

getToAgent

public Node getToAgent()
获取结束端代理节点 如果起始或者结束节点放在分组中,分组合并状态时,外观上分组与连线相连,这时此分组为代理节点

Returns:
结束端代理节点

addPathSegement

public void addPathSegement(PathSegment path)
添加路径片段

Specified by:
addPathSegement in interface IShape

addPathSegement

public void addPathSegement(PathSegment path,
                            int index)
添加路径片段

Specified by:
addPathSegement in interface IShape
Parameters:
path -
index -

addPathSegments

public void addPathSegments(PathSegment[] ps)
添加路径片段

Specified by:
addPathSegments in interface IShape
Parameters:
ps -

removePathSegment

public void removePathSegment(int index)
删除路径片段

Specified by:
removePathSegment in interface IShape

getPathSegment

public PathSegment getPathSegment(int index)
获取路径片段

Specified by:
getPathSegment in interface IShape
Returns:
该序号的路径片段

movePathSegment

public void movePathSegment(int index,
                            float dx,
                            float dy)
移动路径片段

Specified by:
movePathSegment in interface IShape

firePathSegmentsChanged

public void firePathSegmentsChanged()
路径片段发生了变化

Specified by:
firePathSegmentsChanged in interface IShape

toPathSegments

public java.util.List<PathSegment> toPathSegments()
获取路径片段集合

Specified by:
toPathSegments in interface IShape
Returns:
路径片段集合

toPathSegments

public java.util.List<PathSegment> toPathSegments(java.util.List<PathSegment> list)
获取路径片段集合

Parameters:
list - 路径片段集合
Returns:
路径片段集合

movePathSegments

public void movePathSegments(float dx,
                             float dy)
移动路径片段

Specified by:
movePathSegments in interface IShape
Parameters:
dx - 偏移量
dy - 偏移量

hasPathSegments

public boolean hasPathSegments()
是否有中间路径片段

Specified by:
hasPathSegments in interface IShape
Returns:
是否存在路径片段

getPathSegments

public java.util.List<PathSegment> getPathSegments()
获取路径片段集合

Specified by:
getPathSegments in interface IShape
Returns:
路径片段集合