Condividi tramite


IInstantSource Interfaccia

Definizione

Fornisce l'accesso all'istante corrente.

[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
Derivato
Attributi
Implementazioni

Commenti

Fornisce l'accesso all'istante corrente.

Le istanze di questa interfaccia vengono usate per accedere a una rappresentazione collegabile dell'istante corrente. Ad esempio InstantSource può essere usato invece di System#currentTimeMillis().

Lo scopo principale di questa astrazione è consentire l'inserimento di origini istantanee alternative come e quando necessario. Le applicazioni usano un oggetto per ottenere l'ora corrente anziché un metodo statico. In questo modo è possibile semplificare il test.

Di conseguenza, questa interfaccia non garantisce che il risultato rappresenti effettivamente l'istante corrente sulla linea temporale. In alternativa, consente all'applicazione di fornire una visualizzazione controllata come a ciò che è l'istante corrente.

La procedura consigliata per le applicazioni consiste nel passare un InstantSource oggetto in qualsiasi metodo che richiede l'istante corrente. Un framework di inserimento delle dipendenze è un modo per ottenere questo risultato:

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

Questo approccio consente un'origine alternativa, ad esempio #fixed(Instant) fixed o #offset(InstantSource, Duration) offset da usare durante i test.

Il system metodo factory fornisce un'origine basata sul miglior orologio di sistema disponibile. Questo può usare System#currentTimeMillis(), o un clock di risoluzione superiore, se disponibile.

Aggiunta in 17.

Documentazione java per java.time.InstantSource.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Proprietà

Handle

Ottiene il valore JNI dell'oggetto Android sottostante.

(Ereditato da IJavaObject)
JniIdentityHashCode

Restituisce il valore di java.lang.System.identityHashCode() per l'istanza di cui è stato eseguito il wrapping.

(Ereditato da IJavaPeerable)
JniManagedPeerState

Stato del peer gestito.

(Ereditato da IJavaPeerable)
JniPeerMembers

Supporto per l'accesso ai membri e la chiamata.

(Ereditato da IJavaPeerable)
PeerReference

Restituisce un JniObjectReference oggetto dell'istanza dell'oggetto Java di cui è stato eseguito il wrapping.

(Ereditato da IJavaPeerable)

Metodi

Disposed()

Chiamato quando l'istanza è stata eliminata.

(Ereditato da IJavaPeerable)
DisposeUnlessReferenced()

Se non sono presenti riferimenti in sospeso a questa istanza, chiama Dispose(); in caso contrario, non esegue alcuna operazione.

(Ereditato da IJavaPeerable)
Finalized()

Chiamato quando l'istanza è stata finalizzata.

(Ereditato da IJavaPeerable)
Fixed(Instant)

Ottiene un'origine che restituisce sempre lo stesso istante.

Instant()

Ottiene l'istante corrente dell'origine.

Millis()

Ottiene l'istante in millisecondo corrente dell'origine.

Offset(IInstantSource, Duration)

Ottiene un'origine che restituisce istantanee dall'origine specificata con la durata specificata aggiunta.

SetJniIdentityHashCode(Int32)

Impostare il valore restituito da JniIdentityHashCode.

(Ereditato da IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Fornisce l'accesso all'istante corrente.

(Ereditato da IJavaPeerable)
SetPeerReference(JniObjectReference)

Impostare il valore restituito da PeerReference.

(Ereditato da IJavaPeerable)
System()

Ottiene un'origine che restituisce l'istante corrente utilizzando il miglior orologio di sistema disponibile.

Tick(IInstantSource, Duration)

Ottiene un'origine che restituisce istantanee dall'origine specificata troncata all'occorrenza più vicina della durata specificata.

UnregisterFromRuntime()

Annullare la registrazione di questa istanza in modo che il runtime non lo restituisca dalle chiamate future Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Ereditato da IJavaPeerable)
WithZone(ZoneId)

Restituisce un orologio con il fuso orario specificato.

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo di tipo controllato dal runtime Android.

JavaCast<TResult>(IJavaObject)

Fornisce l'accesso all'istante corrente.

GetJniTypeName(IJavaPeerable)

Fornisce l'accesso all'istante corrente.

Si applica a