IInstantSource Antarmuka
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menyediakan akses ke instan saat ini.
[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
- Turunan
- Atribut
- Penerapan
Keterangan
Menyediakan akses ke instan saat ini.
Instans antarmuka ini digunakan untuk mengakses representasi instan saat ini yang dapat dicolokkan. Misalnya, InstantSource
dapat digunakan alih-alih System#currentTimeMillis()
.
Tujuan utama abstraksi ini adalah untuk memungkinkan sumber instan alternatif dicolokkan sebagai dan jika diperlukan. Aplikasi menggunakan objek untuk mendapatkan waktu saat ini daripada metode statis. Ini dapat menyederhanakan pengujian.
Dengan demikian, antarmuka ini tidak menjamin hasilnya benar-benar mewakili instan saat ini pada garis waktu. Sebaliknya, ini memungkinkan aplikasi untuk memberikan tampilan terkontrol seperti apa instan saat ini.
Praktik terbaik untuk aplikasi adalah meneruskan InstantSource
ke metode apa pun yang memerlukan instan saat ini. Kerangka kerja injeksi dependensi adalah salah satu cara untuk mencapai hal ini:
public class MyBean {
private InstantSource source; // dependency inject
...
public void process(Instant endInstant) {
if (source.instant().isAfter(endInstant) {
...
}
}
}
Pendekatan ini memungkinkan sumber alternatif, seperti #fixed(Instant) fixed
atau #offset(InstantSource, Duration) offset
digunakan selama pengujian.
Metode system
pabrik menyediakan sumber berdasarkan jam sistem terbaik yang tersedia. Ini dapat menggunakan System#currentTimeMillis()
, atau jam resolusi yang lebih tinggi jika tersedia.
Ditambahkan dalam 17.
Dokumentasi Java untuk java.time.InstantSource
.
Bagian halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Proyek Sumber Terbuka Android dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Atribusi Creative Commons 2.5.
Properti
Handle |
Mendapatkan nilai JNI dari objek Android yang mendasar. (Diperoleh dari IJavaObject) |
JniIdentityHashCode |
Mengembalikan nilai |
JniManagedPeerState |
Status serekan terkelola. (Diperoleh dari IJavaPeerable) |
JniPeerMembers |
Akses anggota dan dukungan pemanggilan. (Diperoleh dari IJavaPeerable) |
PeerReference |
Mengembalikan instans objek Java yang dibungkus JniObjectReference . (Diperoleh dari IJavaPeerable) |
Metode
Disposed() |
Dipanggil ketika instans telah dibuang. (Diperoleh dari IJavaPeerable) |
DisposeUnlessReferenced() |
Jika tidak ada referensi yang luar biasa untuk instans ini, maka panggilan |
Finalized() |
Dipanggil ketika instans telah diselesaikan. (Diperoleh dari IJavaPeerable) |
Fixed(Instant) |
Mendapatkan sumber yang selalu mengembalikan instans yang sama. |
Instant() |
Mendapatkan instan sumber saat ini. |
Millis() |
Mendapatkan instans milidetik sumber saat ini. |
Offset(IInstantSource, Duration) |
Mendapatkan sumber yang mengembalikan instans dari sumber yang ditentukan dengan durasi yang ditentukan ditambahkan. |
SetJniIdentityHashCode(Int32) |
Atur nilai yang dikembalikan oleh |
SetJniManagedPeerState(JniManagedPeerStates) |
Menyediakan akses ke instan saat ini. (Diperoleh dari IJavaPeerable) |
SetPeerReference(JniObjectReference) |
Atur nilai yang dikembalikan oleh |
System() |
Mendapatkan sumber yang mengembalikan instan saat ini menggunakan jam sistem terbaik yang tersedia. |
Tick(IInstantSource, Duration) |
Mendapatkan sumber yang mengembalikan instans dari sumber yang ditentukan yang dipotong ke kemunculan terdekat dari durasi yang ditentukan. |
UnregisterFromRuntime() |
Batalkan pendaftaran instans ini sehingga runtime tidak akan mengembalikannya dari pemanggilan di masa mendatang Java.Interop.JniRuntime+JniValueManager.PeekValue . (Diperoleh dari IJavaPeerable) |
WithZone(ZoneId) |
Mengembalikan jam dengan zona waktu yang ditentukan. |
Metode Ekstensi
JavaCast<TResult>(IJavaObject) |
Melakukan konversi jenis yang diperiksa runtime Bahasa Umum Android. |
JavaCast<TResult>(IJavaObject) |
Menyediakan akses ke instan saat ini. |
GetJniTypeName(IJavaPeerable) |
Menyediakan akses ke instan saat ini. |