Langage

IInstantSource Interface

Définition

Fournit l’accès à l’instant actuel.

[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
Dérivé
Attributs
Implémente

Remarques

Fournit l’accès à l’instant actuel.

Les instances de cette interface sont utilisées pour accéder à une représentation enfichable de l’instant actuel. Par exemple, InstantSource pouvez être utilisé au lieu de System#currentTimeMillis().

L’objectif principal de cette abstraction est de permettre à d’autres sources instantanées d’être branchées en tant que et quand nécessaire. Les applications utilisent un objet pour obtenir l’heure actuelle plutôt qu’une méthode statique. Cela peut simplifier les tests.

Par conséquent, cette interface ne garantit pas que le résultat représente réellement l’instant actuel sur la ligne de temps. Au lieu de cela, l’application permet à l’application de fournir une vue contrôlée quant à ce que l’instant actuel est.

La meilleure pratique pour les applications consiste à passer une InstantSource méthode qui nécessite l’instant actuel. Une infrastructure d’injection de dépendances est une façon d’y parvenir :

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

Cette approche permet d’utiliser une autre source, telle que #fixed(Instant) fixed ou #offset(InstantSource, Duration) offset à utiliser lors du test.

La system méthode de fabrique fournit une source basée sur la meilleure horloge système disponible. Cela peut utiliser System#currentTimeMillis(), ou une horloge de résolution supérieure si l’une d’elles est disponible.

Ajouté dans 17.

Java documentation pour java.time.InstantSource.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

Propriétés

Nom Description
Handle

Obtient la valeur JNI de l’objet Android sous-jacent.

(Hérité de IJavaObject)
JniIdentityHashCode

Retourne la valeur de java.lang.System.identityHashCode() l’instance encapsulée.

(Hérité de IJavaPeerable)
JniManagedPeerState

État de l’homologue managé.

(Hérité de IJavaPeerable)
JniObjectReferenceControlBlock

Fournit l’accès à l’instant actuel.

(Hérité de IJavaPeerable)
JniPeerMembers

Prise en charge de l’accès aux membres et de l’appel.

(Hérité de IJavaPeerable)
PeerReference

Retourne une JniObjectReference instance d’objet Java encapsulée.

(Hérité de IJavaPeerable)

Méthodes

Nom Description
Disposed()

Appelé lorsque l’instance a été supprimée.

(Hérité de IJavaPeerable)
DisposeUnlessReferenced()

S’il n’existe aucune référence en suspens à cette instance, les appels Dispose(); sinon, ne fait rien.

(Hérité de IJavaPeerable)
Finalized()

Appelé lorsque l’instance a été finalisée.

(Hérité de IJavaPeerable)
Fixed(Instant)

Obtient une source qui retourne toujours le même instant.

Instant()

Obtient l’instant actuel de la source.

Millis()

Obtient l’instant actuel de la milliseconde de la source.

Offset(IInstantSource, Duration)

Obtient une source qui retourne des instants à partir de la source spécifiée avec la durée spécifiée ajoutée.

SetJniIdentityHashCode(Int32)

Définissez la valeur retournée par JniIdentityHashCode.

(Hérité de IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Fournit l’accès à l’instant actuel.

(Hérité de IJavaPeerable)
SetPeerReference(JniObjectReference)

Définissez la valeur retournée par PeerReference.

(Hérité de IJavaPeerable)
System()

Obtient une source qui retourne l’instant actuel à l’aide de la meilleure horloge système disponible.

Tick(IInstantSource, Duration)

Obtient une source qui retourne des instants de la source spécifiée tronquée à l’occurrence la plus proche de la durée spécifiée.

UnregisterFromRuntime()

Annulez l’inscription de cette instance afin que le runtime ne le retourne pas à partir d’appels futurs Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Hérité de IJavaPeerable)
WithZone(ZoneId)

Retourne une horloge avec le fuseau horaire spécifié.

Méthodes d’extension

Nom Description
GetJniTypeName(IJavaPeerable)

Obtient le nom JNI du type de l’instance self.

JavaAs<TResult>(IJavaPeerable)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

JavaCast<TResult>(IJavaObject)

Effectue une conversion de type vérifiée par le runtime Android.

JavaCast<TResult>(IJavaObject)

Fournit l’accès à l’instant actuel.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

S’applique à