Compartilhar via


IInstantSource Interface

Definição

Fornece acesso ao instante atual.

[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
Derivado
Atributos
Implementações

Comentários

Fornece acesso ao instante atual.

As instâncias dessa interface são usadas para acessar uma representação conectável do instante atual. Por exemplo, InstantSource pode ser usado em vez de System#currentTimeMillis().

O objetivo principal dessa abstração é permitir que fontes instantâneas alternativas sejam conectadas como e quando necessário. Os aplicativos usam um objeto para obter a hora atual em vez de um método estático. Isso pode simplificar os testes.

Como tal, esta interface não garante que o resultado realmente representa o instante atual na linha do tempo. Em vez disso, ele permite que o aplicativo forneça uma exibição controlada sobre o que é o instante atual.

A prática recomendada para aplicativos é passar um InstantSource para qualquer método que exija o instante atual. Uma estrutura de injeção de dependência é uma maneira de conseguir isso:

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

Essa abordagem permite que uma fonte alternativa, como #fixed(Instant) fixed ou #offset(InstantSource, Duration) offset a ser usada durante o teste.

O system método de fábrica fornece uma fonte baseada no melhor relógio do sistema disponível. Isso pode usar System#currentTimeMillis(), ou um relógio de resolução mais alta, se houver um disponível.

Adicionado em 17.

Documentação Java para java.time.InstantSource.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Propriedades

Handle

Obtém o valor JNI do objeto Android subjacente.

(Herdado de IJavaObject)
JniIdentityHashCode

Retorna o valor de java.lang.System.identityHashCode() para a instância encapsulada.

(Herdado de IJavaPeerable)
JniManagedPeerState

Estado do par gerenciado.

(Herdado de IJavaPeerable)
JniPeerMembers

Acesso de membros e suporte à invocação.

(Herdado de IJavaPeerable)
PeerReference

Retorna uma JniObjectReference das instâncias do objeto Java encapsulado.

(Herdado de IJavaPeerable)

Métodos

Disposed()

Chamado quando a instância tiver sido descartada.

(Herdado de IJavaPeerable)
DisposeUnlessReferenced()

Se não houver referências pendentes a este caso, então chame Dispose(), caso contrário, não faz nada.

(Herdado de IJavaPeerable)
Finalized()

Chamado quando a instância tiver sido finalizada.

(Herdado de IJavaPeerable)
Fixed(Instant)

Obtém uma origem que sempre retorna o mesmo instante.

Instant()

Obtém o instante atual da origem.

Millis()

Obtém o instante atual de milissegundos da fonte.

Offset(IInstantSource, Duration)

Obtém uma origem que retorna instantes da fonte especificada com a duração especificada adicionada.

SetJniIdentityHashCode(Int32)

Defina o valor retornado por JniIdentityHashCode.

(Herdado de IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Fornece acesso ao instante atual.

(Herdado de IJavaPeerable)
SetPeerReference(JniObjectReference)

Defina o valor retornado por PeerReference.

(Herdado de IJavaPeerable)
System()

Obtém uma fonte que retorna o instante atual usando o melhor relógio do sistema disponível.

Tick(IInstantSource, Duration)

Obtém uma origem que retorna instantes da fonte especificada truncada para a ocorrência mais próxima da duração especificada.

UnregisterFromRuntime()

Cancele o registro dessa instância para que o tempo de execução não a retorne de chamadas futuras Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Herdado de IJavaPeerable)
WithZone(ZoneId)

Retorna um relógio com o fuso horário especificado.

Métodos de Extensão

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo verificada em tempo de execução do Android.

JavaCast<TResult>(IJavaObject)

Fornece acesso ao instante atual.

GetJniTypeName(IJavaPeerable)

Fornece acesso ao instante atual.

Aplica-se a