IInstantSource Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 |
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 |
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 |
SetJniManagedPeerState(JniManagedPeerStates) |
Fornece acesso ao instante atual. (Herdado de IJavaPeerable) |
SetPeerReference(JniObjectReference) |
Defina o valor retornado por |
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. |