IInstantSource インターフェイス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在のインスタントへのアクセスを提供します。
[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 ドキュメントjava.time.InstantSource
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。
プロパティ
Handle |
基になる Android オブジェクトの JNI 値を取得します。 (継承元 IJavaObject) |
JniIdentityHashCode |
ラップされたインスタンスの |
JniManagedPeerState |
マネージド ピアの状態。 (継承元 IJavaPeerable) |
JniPeerMembers |
メンバー アクセスと呼び出しのサポート。 (継承元 IJavaPeerable) |
PeerReference |
ラップされた Java オブジェクト インスタンスの a JniObjectReference を返します。 (継承元 IJavaPeerable) |
メソッド
Disposed() |
インスタンスが破棄されたときに呼び出されます。 (継承元 IJavaPeerable) |
DisposeUnlessReferenced() |
このインスタンスへの未処理の参照がない場合は、呼び出 |
Finalized() |
インスタンスが終了したときに呼び出されます。 (継承元 IJavaPeerable) |
Fixed(Instant) |
常に同じインスタントを返すソースを取得します。 |
Instant() |
ソースの現在のインスタントを取得します。 |
Millis() |
ソースの現在のミリ秒のインスタントを取得します。 |
Offset(IInstantSource, Duration) |
指定した期間が追加された指定したソースからインスタントを返すソースを取得します。 |
SetJniIdentityHashCode(Int32) |
によって |
SetJniManagedPeerState(JniManagedPeerStates) |
現在のインスタントへのアクセスを提供します。 (継承元 IJavaPeerable) |
SetPeerReference(JniObjectReference) |
によって |
System() |
使用可能な最適なシステム クロックを使用して現在のインスタントを返すソースを取得します。 |
Tick(IInstantSource, Duration) |
指定した期間の最も近い位置に切り捨てられた指定したソースからインスタントを返すソースを取得します。 |
UnregisterFromRuntime() |
ランタイムが将来 Java.Interop.JniRuntime+JniValueManager.PeekValue の呼び出しから返されないように、このインスタンスの登録を解除します。 (継承元 IJavaPeerable) |
WithZone(ZoneId) |
指定したタイム ゾーンを持つクロックを返します。 |
拡張メソッド
JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
JavaCast<TResult>(IJavaObject) |
現在のインスタントへのアクセスを提供します。 |
GetJniTypeName(IJavaPeerable) |
現在のインスタントへのアクセスを提供します。 |