twaver
Class Utils

java.lang.Object
  extended by twaver.Utils

public class Utils
extends java.lang.Object


Field Summary
static IDGenerator idGenerator
          id生成器,用于网元id的自动生成,默认为递增
static java.lang.Class<?> resourceLoader
          资源加载器,可用于包内图片资源的加载,比如设置节点图片:
 
Constructor Summary
Utils()
           
 
Method Summary
static void checkArgument(java.lang.Object argument, java.lang.String name)
          check whether the argument is null, if the argument is empty, twaver will throw a IllegalArgumentException instance
static int createAlphaColor(int color, int alpha)
          create a color with the setting alpha value, the following code can get a translucent red color
static float dpToPixels(float dp)
          单位转换,dpi转换成像素
static void drawText(Canvas canvas, Paint paint, java.lang.String text, float x, float y, Position alignPosition)
          绘制文字
static void drawText(Canvas canvas, Paint paint, java.lang.String text, Typeface font, float fontSize, float x, float y, Position alignPosition)
          绘制文字
static boolean equals(java.lang.Object o1, java.lang.Object o2)
          比较两个对象
static void findFollowers(Node node, java.util.Collection<Node> nodes, IFilter<Element> filter)
          找出所有的跟随节点
static Group findGroup(Element element)
          查找网元所在的分组
static ISubnetwork findSubnetwork(Element element)
          find the subnetwork which the element is in, if the element not belongs any subnetwork, this function will return null
static boolean forEachByBreadthFirst(java.lang.Iterable<? extends Data> roots, Action<Data> action)
          广度优先遍历,回调函数返回false时,整个遍历结束
static boolean forEachByDepthFirst(java.lang.Iterable<? extends Data> list, Action<Data> action)
          深度优先遍历,回调函数返回false时,整个遍历结束
static boolean forEachByDepthFirstReverse(java.util.List<? extends Data> list, Action<Data> action)
          深度优先遍历,回调函数返回false时,整个遍历结束
static boolean forEachChildren(Data parent, Action<Data> action)
          遍历孩子元素,回调函数返回false时,整个遍历结束
static
<T> boolean
forEachReverse(java.util.List<T> dataList, Action<T> action)
          反向遍历
static int generateId(java.lang.Object object)
          generate id for elements
static java.lang.String getAbout()
           
static int getAndroidSDKVersion()
           
static java.lang.Class<?> getClassByName(java.lang.String name)
          从类名获取类,比如"Integer"得到java.long.Integer类型
static java.lang.String getClassSortName(java.lang.Class<?> clazz)
          获取类缩短名称,比如java.long.Integer返回"Integer",用于数据的序列化,以便缩短数据
static Context getContext()
          应用上下文
static java.util.List<Element> getElementsInGroup(Group group)
          获取分组内的所有网元
static java.lang.String getLicenseInfo()
           
static Path getShape(java.lang.String type, float w, float h)
          获取图形
static java.lang.String getVersion()
           
static void handleError(java.lang.Exception exp, java.lang.String message)
          处理异常,默认会打印到控制台
static boolean isValidColor(int color)
          是否是有效颜色,判断透明度是否不为0
static float pixelsToDp(float pixels)
          单位转换,像素转换成dpi
static boolean randomBoolean()
           
static int randomColor()
          随机颜色
static int randomColor(int alpha)
          随机颜色,指定透明度
static float randomFloat(float f)
          随机浮点数
static int randomInt(int n)
          随机整数
static Position randomPosition()
          随机位置
static int randomPureColor()
          随机颜色,饱和度为255
static int randomPureColor(int alpha)
          随机颜色,饱和度为255,指定透明度
static java.lang.String randomShape()
          获取随机图形类型
static void registerGif(java.lang.Object key, java.io.InputStream in)
          注册gif动画
static void registerImage(java.lang.String name, Bitmap image)
          注册栅格图片
static void registerImage(java.lang.String name, Drawable drawable)
          注册Drawable图片
static void registerImage(java.lang.String name, IImage image)
          注册图片资源,支持图片,gif,Drawable,以及任意IImage实现类
static void registerSerializer(java.lang.Class clazz, ISerializer<?> serializer)
           
static void registerShape(java.lang.String type, java.util.List<PathSegment> shape)
          注册图形,twaver内部图形坐标点都限制在1*1标准内
static void setContext(Context context)
          设置应用上下文,可用于图片资源获取,以及设备长度单位的转换dpToPixels(float), pixelsToDp(float) 默认在拓扑图初始化时,自动设置,当然你也可以提前设置
static int toInt(double number)
          取整数,比如:1.1f 取整为2,-1.1f取整为-2
static
<T> java.lang.Iterable<T>
toReverseIterator(java.util.List<T> dataList)
          获取反向遍历迭代器
static void validateLicense(java.io.InputStream in)
          验证授权许可,许可将在拓扑图绘制时随机检测
static void validateLicense(java.lang.String licenseText)
          验证授权许可信息
static void vibrate()
          设备振动,需要应用请求相应的权限,且设备自身要支持振动 应用程序申请振动权限,可在AndroidManifest.xml文件中设置
static void vibrate(long milliseconds)
          设备振动,需要应用请求相应的权限,且设备自身要支持振动 应用程序申请振动权限,可在AndroidManifest.xml文件中设置
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

resourceLoader

public static java.lang.Class<?> resourceLoader
资源加载器,可用于包内图片资源的加载,比如设置节点图片:
 node.setImage("/com/images/a.png");
 
twaver将使用下面的方法加载这个图片
 Utils.resourceLoader.getResource("/com/images/a.png");
 

See Also:
Node.setImage(Object)

idGenerator

public static IDGenerator idGenerator
id生成器,用于网元id的自动生成,默认为递增

See Also:
generateId(Object)
Constructor Detail

Utils

public Utils()
Method Detail

getVersion

public static final java.lang.String getVersion()
Returns:
twaver android version infos

getAbout

public static final java.lang.String getAbout()
Returns:
twaver android about infos

generateId

public static int generateId(java.lang.Object object)
generate id for elements

Parameters:
object - 数据元素
Returns:
id
See Also:
idGenerator

checkArgument

public static void checkArgument(java.lang.Object argument,
                                 java.lang.String name)
check whether the argument is null, if the argument is empty, twaver will throw a IllegalArgumentException instance

Parameters:
argument - argument value
name - argument name

equals

public static boolean equals(java.lang.Object o1,
                             java.lang.Object o2)
比较两个对象

Parameters:
o1 -
o2 -
Returns:
whether object1 equals object2

findSubnetwork

public static ISubnetwork findSubnetwork(Element element)
find the subnetwork which the element is in, if the element not belongs any subnetwork, this function will return null

Parameters:
element -
Returns:
which subnetwork the element in

createAlphaColor

public static int createAlphaColor(int color,
                                   int alpha)
create a color with the setting alpha value, the following code can get a translucent red color
 Utils.createAlphaColor(0xFFFF0000, 0x88000000);
 
or
 Utils.createAlphaColor(0xFFFF0000, 0x88);
 

Parameters:
color - original color, such as 0xFFFF0000;
alpha - color alpha value, such as 0x88000000
Returns:
the color with the setting alpha vlaue

randomBoolean

public static boolean randomBoolean()
Returns:
random boolean value

randomInt

public static int randomInt(int n)
随机整数

Parameters:
n - 随机整数范围
Returns:
随机整数

randomFloat

public static float randomFloat(float f)
随机浮点数

Parameters:
f - 随机浮点数范围
Returns:
随机浮点数

randomColor

public static int randomColor()
随机颜色

Returns:
随机颜色

randomColor

public static int randomColor(int alpha)
随机颜色,指定透明度

Parameters:
alpha - 透明度
Returns:
随机颜色

randomPureColor

public static int randomPureColor()
随机颜色,饱和度为255

Returns:
随机颜色

randomPureColor

public static int randomPureColor(int alpha)
随机颜色,饱和度为255,指定透明度

Parameters:
alpha - 0-255或者0x88000000这样的格式
Returns:
随机颜色

randomShape

public static java.lang.String randomShape()
获取随机图形类型

Returns:
随机图形类型
See Also:
registerShape(String, List)

registerShape

public static void registerShape(java.lang.String type,
                                 java.util.List<PathSegment> shape)
注册图形,twaver内部图形坐标点都限制在1*1标准内

Parameters:
type - 图形类型
shape - 路径片段集合
See Also:
getShape(String, float, float)

getShape

public static Path getShape(java.lang.String type,
                            float w,
                            float h)
获取图形

Parameters:
type - 图形类型
w - 水平方向缩放比例
h - 垂直方向缩放比例
Returns:
获取图形

randomPosition

public static Position randomPosition()
随机位置

Returns:
随机位置
See Also:
Position

forEachReverse

public static <T> boolean forEachReverse(java.util.List<T> dataList,
                                         Action<T> action)
反向遍历

Parameters:
dataList - 数据集合
action - 回调函数,返回false表示结束遍历
Returns:
是否全部遍历

toReverseIterator

public static <T> java.lang.Iterable<T> toReverseIterator(java.util.List<T> dataList)
获取反向遍历迭代器

Parameters:
dataList - 数据集合
Returns:
反向遍历迭代器

forEachChildren

public static boolean forEachChildren(Data parent,
                                      Action<Data> action)
遍历孩子元素,回调函数返回false时,整个遍历结束

Parameters:
parent - 父节点
action - 回调函数,返回false时,整个遍历结束
Returns:
是否全部遍历

forEachByDepthFirstReverse

public static boolean forEachByDepthFirstReverse(java.util.List<? extends Data> list,
                                                 Action<Data> action)
深度优先遍历,回调函数返回false时,整个遍历结束

Parameters:
list - 数据集合
action - 回调函数,返回false时,整个遍历结束
Returns:
是否全部遍历

forEachByDepthFirst

public static boolean forEachByDepthFirst(java.lang.Iterable<? extends Data> list,
                                          Action<Data> action)
深度优先遍历,回调函数返回false时,整个遍历结束

Parameters:
list - 数据集合
action - 回调函数,返回false时,整个遍历结束
Returns:
是否全部遍历

forEachByBreadthFirst

public static boolean forEachByBreadthFirst(java.lang.Iterable<? extends Data> roots,
                                            Action<Data> action)
广度优先遍历,回调函数返回false时,整个遍历结束

Parameters:
roots - 根层元素集合
action - 回调函数,返回false时,整个遍历结束
Returns:
是否全部遍历

findGroup

public static Group findGroup(Element element)
查找网元所在的分组

Parameters:
element - 网元
Returns:
网元所在的分组

handleError

public static void handleError(java.lang.Exception exp,
                               java.lang.String message)
处理异常,默认会打印到控制台

Parameters:
exp - 异常
message - 异常信息

getElementsInGroup

public static java.util.List<Element> getElementsInGroup(Group group)
获取分组内的所有网元

Parameters:
group - 分组
Returns:
分组内的网元

findFollowers

public static void findFollowers(Node node,
                                 java.util.Collection<Node> nodes,
                                 IFilter<Element> filter)
找出所有的跟随节点

Parameters:
node - 节点
nodes - 节点集合
filter - 过滤器

toInt

public static int toInt(double number)
取整数,比如:1.1f 取整为2,-1.1f取整为-2

Parameters:
number - 数值
Returns:
整数

getClassSortName

public static java.lang.String getClassSortName(java.lang.Class<?> clazz)
获取类缩短名称,比如java.long.Integer返回"Integer",用于数据的序列化,以便缩短数据

Parameters:
clazz - 类
Returns:
类缩短名称
See Also:
XMLSerializer, getClassByName(String)

getClassByName

public static java.lang.Class<?> getClassByName(java.lang.String name)
                                         throws java.lang.ClassNotFoundException
从类名获取类,比如"Integer"得到java.long.Integer类型

Parameters:
name - 类名
Returns:
Throws:
java.lang.ClassNotFoundException
See Also:
XMLSerializer, getClassSortName(Class)

isValidColor

public static boolean isValidColor(int color)
是否是有效颜色,判断透明度是否不为0

Parameters:
color - 颜色
Returns:
是否是有效颜色

setContext

public static void setContext(Context context)
设置应用上下文,可用于图片资源获取,以及设备长度单位的转换dpToPixels(float), pixelsToDp(float) 默认在拓扑图初始化时,自动设置,当然你也可以提前设置

Parameters:
context - 应用上下文
See Also:
IImage, Network, getContext()

getContext

public static Context getContext()
应用上下文

Returns:
应用上下文
See Also:
setContext(Context)

registerImage

public static void registerImage(java.lang.String name,
                                 IImage image)
注册图片资源,支持图片,gif,Drawable,以及任意IImage实现类

Parameters:
name - 图片名称
image - 图片

registerImage

public static void registerImage(java.lang.String name,
                                 Drawable drawable)
注册Drawable图片

Parameters:
name - 图片名称
drawable - 图片

registerGif

public static void registerGif(java.lang.Object key,
                               java.io.InputStream in)
注册gif动画

Parameters:
key - 图片名称
in - 图片资源输入流

registerImage

public static void registerImage(java.lang.String name,
                                 Bitmap image)
注册栅格图片

Parameters:
name - 图片名称
image - 图片像素数据

validateLicense

public static void validateLicense(java.io.InputStream in)
验证授权许可,许可将在拓扑图绘制时随机检测

Parameters:
in - 许可文件输入流

validateLicense

public static void validateLicense(java.lang.String licenseText)
验证授权许可信息

Parameters:
licenseText - 许可文件文本

getLicenseInfo

public static java.lang.String getLicenseInfo()

drawText

public static void drawText(Canvas canvas,
                            Paint paint,
                            java.lang.String text,
                            float x,
                            float y,
                            Position alignPosition)
绘制文字

Parameters:
canvas -
paint -
text - 文本
x - x坐标
y - y坐标
alignPosition - 挂载点位置

drawText

public static void drawText(Canvas canvas,
                            Paint paint,
                            java.lang.String text,
                            Typeface font,
                            float fontSize,
                            float x,
                            float y,
                            Position alignPosition)
绘制文字

Parameters:
canvas -
paint -
text - 文本
font - 字体
fontSize - 字体大小
x - x坐标
y - y坐标
alignPosition - 挂载点位置

dpToPixels

public static float dpToPixels(float dp)
单位转换,dpi转换成像素

Parameters:
dp -
Returns:
像素数

pixelsToDp

public static float pixelsToDp(float pixels)
单位转换,像素转换成dpi

Parameters:
pixels -
Returns:
dpi数值

vibrate

public static void vibrate()
设备振动,需要应用请求相应的权限,且设备自身要支持振动 应用程序申请振动权限,可在AndroidManifest.xml文件中设置
 
 


vibrate

public static void vibrate(long milliseconds)
设备振动,需要应用请求相应的权限,且设备自身要支持振动 应用程序申请振动权限,可在AndroidManifest.xml文件中设置
 
 

Parameters:
milliseconds - 振动持续时间

getAndroidSDKVersion

public static int getAndroidSDKVersion()
Returns:
android SDK版本
See Also:
android.os.Build.VERSION.SDK_INT

registerSerializer

public static void registerSerializer(java.lang.Class clazz,
                                      ISerializer<?> serializer)