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