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 метод, требующий текущего экземпляра. Платформа внедрения зависимостей является одним из способов достижения этого:

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

Такой подход позволяет использовать альтернативный источник, например #fixed(Instant) fixed во #offset(InstantSource, Duration) offset время тестирования.

Метод system фабрики предоставляет источник на основе лучших доступных системных часов. Это может использовать System#currentTimeMillis()или более высокие часы разрешения, если он доступен.

Добавлено в 17.

Java документации по java.time.InstantSource.

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Свойства

Имя Описание
Handle

Возвращает значение JNI базового объекта Android.

(Унаследовано от 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)

Возвращает часы с указанным часовым поясом.

Методы расширения

Имя Описание
GetJniTypeName(IJavaPeerable)

Возвращает имя JNI типа экземпляра self.

JavaAs<TResult>(IJavaPeerable)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Предоставляет доступ к текущему моменту.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

Применяется к