다음을 통해 공유


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.time.InstantSourceJava 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

속성

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)

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

적용 대상