twaver.model.attachment
Class Attachment<T>

java.lang.Object
  extended by twaver.model.attachment.Attachment<T>
Type Parameters:
T - 图形数据类型
All Implemented Interfaces:
ISerializable
Direct Known Subclasses:
ImageAttachment, LabelAttachment, ShapeAttachment

public class Attachment<T>
extends java.lang.Object
implements ISerializable

附件,用于网元上挂载图形元素,一个网元上可以挂载多个附件 每个附件对应一个UI类,比如LabelAttachment对应LabelUI,UI类用于附件在拓扑图上的绘制和呈现,附件的属性对应UI相应的属性


Field Summary
protected  Position anchorPosition
          附件挂载点位置
protected  int backgroundColor
          背景颜色
protected  IShader backgroundShader
          背景着色器
protected  float cornerRadius
          圆角半径
protected  T data
          附件图形数据
protected  java.lang.String name
          附件名称
protected  Point offset
          附件偏移量
protected  float outline
          边框宽度
protected  int outlineColor
          边框颜色
protected  Insets padding
          填充间距
protected  boolean pointerVisible
          是否显示冒泡指针
protected  float pointerWidth
          冒泡指针宽度
protected  Position position
          附件位置
protected  boolean rotatable
          是否随连线旋转
protected  boolean sendToBottom
          是否绘制在网元的下层
protected  boolean showOnTop
          是否置顶显示
protected  Size size
          附件大小
protected  boolean visible
           
 
Constructor Summary
Attachment()
          构造函数
Attachment(java.lang.String name, T data)
          构造函数
Attachment(T data)
          构造函数
 
Method Summary
 UI<T> createUI(ElementUI<?> elementUI)
          创建附件UI类
 void deserialize(java.lang.String s)
          反序列化属性,根据字符串生成对象的属性
protected  void deserializeProperty(java.lang.String key, java.lang.String value, java.lang.String type)
          反序列化属性
 boolean equals(java.lang.Object o)
           
 Position getAnchorPosition()
          附件挂载位置
 int getBackgroundColor()
          背景色
 IShader getBackgroundShader()
          背景着色器
 float getCornerRadius()
          圆角半径
 T getData()
          附件图形数据
 T getData(UI<T> ui, ElementUI<?> elementUI)
          获取附件数据
 java.lang.String getName()
          附件名称
 Point getOffset()
          获取偏移量
 float getOutline()
          获取边框宽度
 int getOutlineColor()
          边框颜色
 Insets getPadding()
          填充间距
 float getPointerWidth()
          冒泡指针宽度
 Position getPosition()
          附件位置
 Size getSize()
          附件大小
 java.lang.Class<? extends UI<T>> getUiClass()
          附件对应的UI类型
 boolean invalidate()
          无效附件属性
 boolean isInvalidate()
          附件属性是否为无效状态
 boolean isPointerVisible()
          是否显示冒泡指针
 boolean isRotatable()
          是否随连线旋转
 boolean isSendToBottom()
          附件显示在网元的底层
 boolean isShowOnTop()
          是否置顶显示
 boolean isVisible()
           
protected  void merge(java.lang.String key, java.lang.Object value, java.lang.StringBuffer buffer)
          序列化属性
 java.lang.String serialize()
          序列化该对象
protected  void serialize(java.lang.StringBuffer buffer)
          序列化附件
protected  void serialize(java.lang.String key, java.lang.Object value, java.lang.String type, java.lang.StringBuffer buffer)
          序列化属性
 void setAnchorPosition(Position anchorPosition)
          设置附件挂载位置
 void setBackgroundColor(int background)
          设置背景色
 void setBackgroundShader(IShader backgroundShader)
          设置背景着色器
 void setCornerRadius(float cornerRadius)
          设置圆角半径
 void setData(T data)
          设置附件图形数据
 void setName(java.lang.String name)
          设置附件名称
 void setOffset(Point offset)
          设置附件偏移量
 void setOutline(float outline)
          设置边框宽度
 void setOutlineColor(int outlineColor)
          设置边框颜色
 void setPadding(Insets padding)
          设置填充间距
 void setPointerVisible(boolean showPointer)
          设置是否显示冒泡指针
 void setPointerWidth(float pointerWidth)
          设置冒泡指针宽度
 void setPosition(Position position)
          设置附件位置
 void setRotatable(boolean rotatable)
          是否随连线旋转
 void setSendToBottom(boolean sendToBottom)
          设置附件显示在网元的底层
 void setShowOnTop(boolean showOnTop)
          设置附件置顶显示
 boolean setSize(Size size)
          设置附件大小
 void setUIClass(java.lang.Class<? extends UI<T>> uiClass)
          设置附件对应的UI类型
 void setVisible(boolean visible)
           
 boolean update(ElementUI<?> elementUI, UI _ui)
           
 void validateData(UI<T> ui, ElementUI<?> elementUI)
          生效附件数据,将附件中的属性更新到对应的UI对象中
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sendToBottom

protected boolean sendToBottom
是否绘制在网元的下层


position

protected Position position
附件位置


anchorPosition

protected Position anchorPosition
附件挂载点位置


offset

protected Point offset
附件偏移量


size

protected Size size
附件大小


pointerVisible

protected boolean pointerVisible
是否显示冒泡指针


pointerWidth

protected float pointerWidth
冒泡指针宽度


outline

protected float outline
边框宽度


outlineColor

protected int outlineColor
边框颜色


backgroundColor

protected int backgroundColor
背景颜色


backgroundShader

protected IShader backgroundShader
背景着色器


cornerRadius

protected float cornerRadius
圆角半径


padding

protected Insets padding
填充间距


name

protected java.lang.String name
附件名称


rotatable

protected boolean rotatable
是否随连线旋转


data

protected T data
附件图形数据


showOnTop

protected boolean showOnTop
是否置顶显示


visible

protected boolean visible
Constructor Detail

Attachment

public Attachment()
构造函数


Attachment

public Attachment(T data)
构造函数

Parameters:
data - 图形数据

Attachment

public Attachment(java.lang.String name,
                  T data)
构造函数

Parameters:
name - 附件名称
data - 图形数据
Method Detail

setVisible

public void setVisible(boolean visible)

isVisible

public boolean isVisible()

setShowOnTop

public void setShowOnTop(boolean showOnTop)
设置附件置顶显示

Parameters:
showOnTop - 是否置顶显示

isShowOnTop

public boolean isShowOnTop()
是否置顶显示

Returns:
是否置顶显示

isRotatable

public boolean isRotatable()
是否随连线旋转

Returns:
是否随连线旋转

setRotatable

public void setRotatable(boolean rotatable)
是否随连线旋转

Parameters:
rotatable - 是否随连线旋转

invalidate

public boolean invalidate()
无效附件属性

Returns:
是否设置成功

isInvalidate

public boolean isInvalidate()
附件属性是否为无效状态

Returns:
附件属性是否为无效状态

setSendToBottom

public void setSendToBottom(boolean sendToBottom)
设置附件显示在网元的底层

Parameters:
sendToBottom - 附件显示在网元的底层

isSendToBottom

public boolean isSendToBottom()
附件显示在网元的底层

Returns:
附件显示在网元的底层

getPosition

public Position getPosition()
附件位置

Returns:
附件位置

setPosition

public void setPosition(Position position)
设置附件位置

Parameters:
position - 附件位置

getAnchorPosition

public Position getAnchorPosition()
附件挂载位置

Returns:
附件挂载位置

setAnchorPosition

public void setAnchorPosition(Position anchorPosition)
设置附件挂载位置

Parameters:
anchorPosition - 附件挂载位置

getOffset

public Point getOffset()
获取偏移量

Returns:
偏移量

setOffset

public void setOffset(Point offset)
设置附件偏移量

Parameters:
offset - 附件偏移量

setSize

public boolean setSize(Size size)
设置附件大小

Parameters:
size - 附件大小
Returns:
是否设置成功

getSize

public Size getSize()
附件大小

Returns:
附件大小

getName

public java.lang.String getName()
附件名称

Returns:
附件名称

setName

public void setName(java.lang.String name)
设置附件名称

Parameters:
name - 附件名称

isPointerVisible

public boolean isPointerVisible()
是否显示冒泡指针

Returns:
是否显示冒泡指针

setPointerVisible

public void setPointerVisible(boolean showPointer)
设置是否显示冒泡指针

Parameters:
showPointer - 是否显示冒泡指针

getPointerWidth

public float getPointerWidth()
冒泡指针宽度

Returns:
冒泡指针宽度

setPointerWidth

public void setPointerWidth(float pointerWidth)
设置冒泡指针宽度

Parameters:
pointerWidth - 冒泡指针宽度

getOutline

public float getOutline()
获取边框宽度

Returns:
边框宽度

setOutline

public void setOutline(float outline)
设置边框宽度

Parameters:
outline - 边框宽度

getOutlineColor

public int getOutlineColor()
边框颜色

Returns:
边框颜色

setOutlineColor

public void setOutlineColor(int outlineColor)
设置边框颜色

Parameters:
outlineColor - 边框颜色

getBackgroundColor

public int getBackgroundColor()
背景色

Returns:
背景色

setBackgroundColor

public void setBackgroundColor(int background)
设置背景色

Parameters:
background - 背景色

getBackgroundShader

public IShader getBackgroundShader()
背景着色器

Returns:
背景着色器

setBackgroundShader

public void setBackgroundShader(IShader backgroundShader)
设置背景着色器

Parameters:
backgroundShader - 背景着色器

getCornerRadius

public float getCornerRadius()
圆角半径

Returns:
圆角半径

setCornerRadius

public void setCornerRadius(float cornerRadius)
设置圆角半径

Parameters:
cornerRadius - 圆角半径

getPadding

public Insets getPadding()
填充间距

Returns:
填充间距

setPadding

public void setPadding(Insets padding)
设置填充间距

Parameters:
padding - 填充间距

getUiClass

public java.lang.Class<? extends UI<T>> getUiClass()
附件对应的UI类型

Returns:
附件对应的UI类型

setUIClass

public void setUIClass(java.lang.Class<? extends UI<T>> uiClass)
设置附件对应的UI类型

Parameters:
uiClass - 附件对应的UI类型

getData

public T getData()
附件图形数据

Returns:
附件图形数据

getData

public T getData(UI<T> ui,
                 ElementUI<?> elementUI)
获取附件数据

Parameters:
ui - 附件UI对象
elementUI - 附件所在的网元UI对象
Returns:
附件图形数据

setData

public void setData(T data)
设置附件图形数据

Parameters:
data -

createUI

public UI<T> createUI(ElementUI<?> elementUI)
创建附件UI类

Parameters:
elementUI - 附件所在的网元UI对象
Returns:
附件UI对象

validateData

public void validateData(UI<T> ui,
                         ElementUI<?> elementUI)
生效附件数据,将附件中的属性更新到对应的UI对象中

Parameters:
ui - 附件对应的UI对象
elementUI - 附件所在的网元UI对象

update

public boolean update(ElementUI<?> elementUI,
                      UI _ui)

serialize

protected void serialize(java.lang.String key,
                         java.lang.Object value,
                         java.lang.String type,
                         java.lang.StringBuffer buffer)
序列化属性

Parameters:
key - 属性名
value - 属性值
type - 属性类型
buffer - 字符串

merge

protected void merge(java.lang.String key,
                     java.lang.Object value,
                     java.lang.StringBuffer buffer)
序列化属性

Parameters:
key - 属性名
value - 属性值
buffer - 字符串

serialize

public java.lang.String serialize()
Description copied from interface: ISerializable
序列化该对象

Specified by:
serialize in interface ISerializable
Returns:
字符串

serialize

protected void serialize(java.lang.StringBuffer buffer)
序列化附件

Parameters:
buffer -

deserialize

public void deserialize(java.lang.String s)
Description copied from interface: ISerializable
反序列化属性,根据字符串生成对象的属性

Specified by:
deserialize in interface ISerializable
Parameters:
s - 字符串

deserializeProperty

protected void deserializeProperty(java.lang.String key,
                                   java.lang.String value,
                                   java.lang.String type)
反序列化属性

Parameters:
key - 属性名
value - 属性值
type - 属性类型

equals

public boolean equals(java.lang.Object o)
Overrides:
equals in class java.lang.Object