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
- 파생
- 특성
- 구현
설명
현재 인스턴트에 대한 액세스를 제공합니다.
이 인터페이스의 인스턴스는 현재 인스턴트의 플러그형 표현에 액세스하는 데 사용됩니다. 예를 들어 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.InstantSource
Java 설명서
이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.
속성
Handle |
기본 Android 개체의 JNI 값을 가져옵니다. (다음에서 상속됨 IJavaObject) |
JniIdentityHashCode |
래핑된 인스턴스의 |
JniManagedPeerState |
관리되는 피어의 상태입니다. (다음에서 상속됨 IJavaPeerable) |
JniPeerMembers |
멤버 액세스 및 호출 지원. (다음에서 상속됨 IJavaPeerable) |
PeerReference |
JniObjectReference 래핑된 Java 개체 인스턴스의 값을 반환합니다. (다음에서 상속됨 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) |
현재 인스턴트에 대한 액세스를 제공합니다. |