📄 container.java
字号:
/*------------------------------------------------------------------------------Name: Container.javaProject: xmlBlaster.orgCopyright: xmlBlaster.org, see xmlBlaster-LICENSE file------------------------------------------------------------------------------*/package org.xmlBlaster.util;import java.lang.ref.WeakReference;/** * Helper holding the callback interface an some user data to be * looped through. */final class Container { private final boolean useWeakReference; private Object callback; private Object userData; final long creation; /** @param callback The handle to callback a client (is checked already to be not null) */ Container(boolean useWeakReference, I_Timeout callback, Object userData) { this.useWeakReference = useWeakReference; if (this.useWeakReference) { this.callback = new WeakReference(callback); if (userData != null) this.userData = new WeakReference(userData); } else { this.callback = callback; this.userData = userData; } this.creation = System.currentTimeMillis(); } /** @return The callback handle can be null for weak references */ I_Timeout getCallback() { if (this.useWeakReference) { WeakReference weak = (WeakReference)this.callback; return (I_Timeout)weak.get(); } else { return (I_Timeout)this.callback; } } /** @return The userData, can be null for weak references */ Object getUserData() { if (this.userData == null) { return null; } if (this.useWeakReference) { WeakReference weak = (WeakReference)this.userData; return weak.get(); } else { return this.userData; } } void reset() { if (this.callback != null && useWeakReference) { ((WeakReference)this.callback).clear(); } this.callback = null; if (this.userData != null && useWeakReference) { ((WeakReference)this.userData).clear(); } this.userData = null; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -