IInstantSource インターフェイス

定義

現在のインスタントへのアクセスを提供します。

[Android.Runtime.Register("java/time/InstantSource", "", "Java.Time.IInstantSourceInvoker", ApiSince=34)]
public interface IInstantSource : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("java/time/InstantSource", "", "Java.Time.IInstantSourceInvoker", ApiSince=34)>]
type IInstantSource = interface
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
派生
属性
実装

注釈

現在のインスタントへのアクセスを提供します。

このインターフェイスのインスタンスは、現在のインスタントのプラグ可能な表現にアクセスするために使用されます。 たとえば、InstantSource の代わりに System#currentTimeMillis() を使用できます。

この抽象化の主な目的は、必要に応じて代替インスタント ソースをプラグインできるようにすることです。 アプリケーションでは、 オブジェクトを使用して、静的メソッドではなく現在の時刻を取得します。 これにより、テストを簡略化できます。

そのため、このインターフェイスでは、結果が実際にタイム ライン上の現在の瞬間を表す保証はありません。 代わりに、アプリケーションは現在の瞬間に関する制御されたビューを提供できます。

アプリケーションのベスト プラクティスは、現在のインスタントを InstantSource 必要とする任意のメソッドに を渡すことです。 依存関係の挿入フレームワークは、これを実現する 1 つの方法です。

public class MyBean {
               private InstantSource source;  // dependency inject
               ...
               public void process(Instant endInstant) {
                 if (source.instant().isAfter(endInstant) {
                   ...
                 }
               }
             }

この方法では、 や #offset(InstantSource, Duration) offset などの#fixed(Instant) fixed代替ソースをテスト中に使用できます。

ファクトリ メソッドは system 、使用可能な最適なシステム クロックに基づいてソースを提供します。 使用可能な場合は、 またはより高い解像度のクロックを使用 System#currentTimeMillis()できます。

17 で追加されました。

java.time.InstantSourceJava ドキュメント。

このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。

プロパティ

Handle

基になる Android オブジェクトの JNI 値を取得します。

(継承元 IJavaObject)
JniIdentityHashCode

ラップされたインスタンスの の java.lang.System.identityHashCode() 値を返します。

(継承元 IJavaPeerable)
JniManagedPeerState

マネージド ピアの状態。

(継承元 IJavaPeerable)
JniPeerMembers

メンバー アクセスと呼び出しのサポート。

(継承元 IJavaPeerable)
PeerReference

JniObjectReferenceラップされた Java オブジェクト インスタンスの を返します。

(継承元 IJavaPeerable)

メソッド

Disposed()

インスタンスが破棄されたときに呼び出されます。

(継承元 IJavaPeerable)
DisposeUnlessReferenced()

このインスタンスへの未処理の参照がない場合は、 を呼び出 Dispose()します。それ以外の場合は何も行いません。

(継承元 IJavaPeerable)
Finalized()

インスタンスが終了したときに呼び出されます。

(継承元 IJavaPeerable)
Fixed(Instant)

常に同じインスタントを返すソースを取得します。

Instant()

ソースの現在の瞬間を取得します。

Millis()

ソースの現在のミリ秒の瞬間を取得します。

Offset(IInstantSource, Duration)

指定した期間を追加して、指定したソースからインスタントを返すソースを取得します。

SetJniIdentityHashCode(Int32)

によって返される値を JniIdentityHashCode設定します。

(継承元 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

現在のインスタントへのアクセスを提供します。

(継承元 IJavaPeerable)
SetPeerReference(JniObjectReference)

によって返される値を PeerReference設定します。

(継承元 IJavaPeerable)
System()

使用可能な最適なシステム クロックを使用して現在のインスタントを返すソースを取得します。

Tick(IInstantSource, Duration)

指定した期間の最も近い位置に切り捨てられた指定したソースからインスタントを返すソースを取得します。

UnregisterFromRuntime()

ランタイムが今後 Java.Interop.JniRuntime+JniValueManager.PeekValue の呼び出しから返されないように、このインスタンスの登録を解除します。

(継承元 IJavaPeerable)
WithZone(ZoneId)

指定したタイム ゾーンを持つクロックを返します。

拡張メソッド

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

現在のインスタントへのアクセスを提供します。

GetJniTypeName(IJavaPeerable)

現在のインスタントへのアクセスを提供します。

適用対象