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 |
Возвращает значение |
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) |
Предоставляет доступ к текущему моменту. |