Share via


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
파생
특성
구현

설명

현재 인스턴트에 대한 액세스를 제공합니다.

이 인터페이스의 인스턴스는 현재 인스턴트의 플러그형 표현에 액세스하는 데 사용됩니다. 예를 들어 System#currentTimeMillis() 대신 InstantSource를 사용할 수 있습니다.

이 추상화의 주요 목적은 필요한 경우 대체 인스턴트 원본을 연결하도록 허용하는 것입니다. 애플리케이션은 개체를 사용하여 정적 메서드가 아닌 현재 시간을 가져옵니다. 이렇게 하면 테스트를 간소화할 수 있습니다.

따라서 이 인터페이스는 결과가 실제로 시간줄의 현재 인스턴트를 나타낸다고 보장하지 않습니다. 대신 애플리케이션에서 현재 인스턴트가 무엇인지에 대한 제어된 보기를 제공할 수 있습니다.

애플리케이션의 모범 사례는 현재 인스턴트가 필요한 모든 메서드에 를 전달하는 InstantSource 것입니다. 종속성 주입 프레임워크는 다음을 수행하는 한 가지 방법입니다.

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.

이 페이지의 일부는 만들고 공유하며 에 설명된 조건에 따라 사용되는 작업을 기반으로 수정됩니다.

속성

Handle

기본 Android 개체의 JNI 값을 가져옵니다.

(다음에서 상속됨 IJavaObject)
JniIdentityHashCode

래핑된 instance 값을 반환 java.lang.System.identityHashCode() 합니다.

(다음에서 상속됨 IJavaPeerable)
JniManagedPeerState

관리되는 피어의 상태입니다.

(다음에서 상속됨 IJavaPeerable)
JniPeerMembers

멤버 액세스 및 호출 지원.

(다음에서 상속됨 IJavaPeerable)
PeerReference

JniObjectReference 래핑된 Java 개체 instance 의 를 반환합니다.

(다음에서 상속됨 IJavaPeerable)

메서드

Disposed()

instance 삭제될 때 호출됩니다.

(다음에서 상속됨 IJavaPeerable)
DisposeUnlessReferenced()

이 instance 대한 미해결 참조가 없으면 를 호출Dispose()합니다. 그렇지 않으면 아무 작업도 수행하지 않습니다.

(다음에서 상속됨 IJavaPeerable)
Finalized()

instance 완료될 때 호출됩니다.

(다음에서 상속됨 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 호출에서 반환되지 않도록 이 instance 등록을 취소합니다.

(다음에서 상속됨 IJavaPeerable)
WithZone(ZoneId)

지정된 표준 시간대가 있는 클록을 반환합니다.

확장 메서드

JavaCast<TResult>(IJavaObject)

Android 런타임 확인 형식 변환을 수행합니다.

JavaCast<TResult>(IJavaObject)

현재 인스턴트에 대한 액세스를 제공합니다.

GetJniTypeName(IJavaPeerable)

현재 인스턴트에 대한 액세스를 제공합니다.

적용 대상