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.

Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.

Свойства

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)

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

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

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

GetJniTypeName(IJavaPeerable)

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

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