最近给Eclipse装了个UML插件,我装的是AmaterasUML,稍后在附件给出,但是不一定正确。不喜勿喷 8)
这个插件可以方便的拖动JAVA文件,画出类图,这样方便分析JAVA类之间的关系
贴下包下面的类
[img]http://dl2.iteye.com/upload/attachment/0121/3224/46978f8e-eac9-3dc5-a25b-16f65aaffb97.png[/img]
下面一个一个分析
[list]
[*]FailureCallback定义了onFailure方法,当失败回调时用来接收ListenableFuture的结果。
[*]SuccessCallback定义了OnSuccess方法,当成功回调时用来接收ListenableFuture的结果。
[*]ListenableFutureCallback继承FailureCallback和SuccessCallback,当回调时用来接收ListenableFuture的结果。
[*]FutureAdapter抽象类,实现了java.util.concurrent.Future接口,适配Future参数化S给Future参数化T。所有的方法委托给受改造者(adaptee),get()和get(long,TimeUnit)将调用受改造者的结果。
[*]ListenableFuture是一个接口,继承了java.util.concurrent.Future接口。如果回调注册了且future已经完成,这是回调方法就会触发。
[*]ListenableFutureAdapter是一个抽象类,继承FutureAdapter,实现ListenableFuture接口,参考FutureAdapter。
[*]ListenableFutureTask是一个类,继承了java.util.concurrent.FutureTask类,实现了ListenableFuture接口,里面的方法通过ListenableFutureCallbackRegistry来实现
[*]SettableListenableFuture是一个类,实现了ListenableFuture接口。可以通过调用set(Object)和setException(Throwable)来设置一些属性,实际是内部静态类SettableTask实现java.util.concurrent.Callable接口来设置一些属性。ListenableFuture接口的两个方法通过ListenableFutureTask来实现
[*]ListenableFutureCallbackRegistry是一个类,里面定义了回调的策略,具体实现是通过队列来实现
[/list]
下面给出类图
[img]http://dl2.iteye.com/upload/attachment/0121/3226/ec810999-d184-3f94-8f4a-f19af2f48683.png[/img]
[img]http://dl2.iteye.com/upload/attachment/0121/3228/25acdc00-1910-3611-a2aa-736e23b1df2d.png[/img]
这个插件可以方便的拖动JAVA文件,画出类图,这样方便分析JAVA类之间的关系
贴下包下面的类
[img]http://dl2.iteye.com/upload/attachment/0121/3224/46978f8e-eac9-3dc5-a25b-16f65aaffb97.png[/img]
下面一个一个分析
[list]
[*]FailureCallback定义了onFailure方法,当失败回调时用来接收ListenableFuture的结果。
[*]SuccessCallback定义了OnSuccess方法,当成功回调时用来接收ListenableFuture的结果。
[*]ListenableFutureCallback继承FailureCallback和SuccessCallback,当回调时用来接收ListenableFuture的结果。
[*]FutureAdapter抽象类,实现了java.util.concurrent.Future接口,适配Future参数化S给Future参数化T。所有的方法委托给受改造者(adaptee),get()和get(long,TimeUnit)将调用受改造者的结果。
[*]ListenableFuture是一个接口,继承了java.util.concurrent.Future接口。如果回调注册了且future已经完成,这是回调方法就会触发。
[*]ListenableFutureAdapter是一个抽象类,继承FutureAdapter,实现ListenableFuture接口,参考FutureAdapter。
[*]ListenableFutureTask是一个类,继承了java.util.concurrent.FutureTask类,实现了ListenableFuture接口,里面的方法通过ListenableFutureCallbackRegistry来实现
[*]SettableListenableFuture是一个类,实现了ListenableFuture接口。可以通过调用set(Object)和setException(Throwable)来设置一些属性,实际是内部静态类SettableTask实现java.util.concurrent.Callable接口来设置一些属性。ListenableFuture接口的两个方法通过ListenableFutureTask来实现
[*]ListenableFutureCallbackRegistry是一个类,里面定义了回调的策略,具体实现是通过队列来实现
[/list]
下面给出类图
[img]http://dl2.iteye.com/upload/attachment/0121/3226/ec810999-d184-3f94-8f4a-f19af2f48683.png[/img]
[img]http://dl2.iteye.com/upload/attachment/0121/3228/25acdc00-1910-3611-a2aa-736e23b1df2d.png[/img]