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, è possibile usare InstantSource anziché 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.

per java.time.InstantSource.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Proprietà

Nome Descrizione
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 di cui è stato eseguito il wrapping Java.

(Ereditato da IJavaPeerable)

Metodi

Nome Descrizione
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

Nome Descrizione
GetJniTypeName(IJavaPeerable)

Ottiene il nome JNI del tipo dell'istanza selfdi .

JavaAs<TResult>(IJavaPeerable)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

Fornisce l'accesso all'istante corrente.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Provare a digitare selfTResult, verificando che la coercizione sia valida sul lato Java.

Si applica a