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