public abstract class AbstractRefreshableTargetSource extends ObjectSE implements TargetSource, Refreshable
TargetSource
実装。サブクラスは、リフレッシュが必要かどうか、および新しいターゲットオブジェクトを提供する必要があるかどうかを決定できます。 リフレッシュステータスを明示的に制御できるようにするために、Refreshable
インターフェースを実装します。
requiresRefresh()
, freshTarget()
修飾子と型 | フィールドと説明 |
---|---|
protected Log | logger サブクラスで利用可能なロガー。 |
protected ObjectSE | targetObject |
コンストラクターと説明 |
---|
AbstractRefreshableTargetSource() |
修飾子と型 | メソッドと説明 |
---|---|
protected abstract ObjectSE | freshTarget() 新しいターゲットオブジェクトを取得します。 |
long | getLastRefreshTime() 最後に実際のリフレッシュが行われた時刻を(タイムスタンプとして)返します。 |
long | getRefreshCount() 起動後の実際のリフレッシュ回数を返します。 |
ObjectSE | getTarget() ターゲットインスタンスを返します。 |
ClassSE<?> | getTargetClass() この TargetSource によって返されるターゲットの型を返します。 |
boolean | isStatic() 静的ではありません。 |
void | refresh() 基になるターゲットオブジェクトをリフレッシュします。 |
void | releaseTarget(ObjectSE object) ターゲットを解放する必要はありません。 |
protected boolean | requiresRefresh() リフレッシュが必要かどうかを判断します。 |
void | setRefreshCheckDelay(long refreshCheckDelay) リフレッシュチェック間の遅延をミリ秒単位で設定します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
protected final Log logger
public void setRefreshCheckDelay(long refreshCheckDelay)
requiresRefresh()
が true
を返す場合にのみ、実際のリフレッシュが行われることに注意してください。
public ClassSE<?> getTargetClass()
TargetSource
TargetSource
によって返されるターゲットの型を返します。null
を返すことができますが、TargetSource
の特定の使用箇所は、事前定義されたターゲットクラスでのみ機能する場合があります。
TargetClassAware
の getTargetClass
TargetSource
の getTargetClass
TargetSource
によって返されるターゲットの型 public boolean isStatic()
TargetSource
の isStatic
true
(ターゲットが不変の場合)TargetSource.getTarget()
@Nullable public final ObjectSE getTarget()
TargetSource
TargetSource
の getTarget
null
public void releaseTarget(ObjectSE object)
TargetSource
の releaseTarget
object
- TargetSource.getTarget()
の呼び出しから取得したオブジェクト public final void refresh()
Refreshable
Refreshable
の refresh
public long getRefreshCount()
Refreshable
Refreshable
の getRefreshCount
public long getLastRefreshTime()
Refreshable
Refreshable
の getLastRefreshTime
protected boolean requiresRefresh()
デフォルトの実装は常に true
を返し、遅延が経過するたびにリフレッシュをトリガーします。基になるターゲットリソースを適切にチェックして、サブクラスによってオーバーライドされます。
protected abstract ObjectSE freshTarget()
リフレッシュが必要であることがリフレッシュチェックで検出された場合(つまり、requiresRefresh()
が true
を返した場合)にのみ呼び出されます。