ObjectInputStream.ResolveProxyClass(String[]) Metode

Definisi

Mengembalikan kelas proksi yang mengimplementasikan antarmuka bernama dalam deskriptor kelas proksi; subkelas dapat menerapkan metode ini untuk membaca data kustom dari aliran bersama dengan deskriptor untuk kelas proksi dinamis, memungkinkan mereka menggunakan mekanisme pemuatan alternatif untuk antarmuka dan kelas proksi.

[Android.Runtime.Register("resolveProxyClass", "([Ljava/lang/String;)Ljava/lang/Class;", "GetResolveProxyClass_arrayLjava_lang_String_Handler")]
protected virtual Java.Lang.Class? ResolveProxyClass(string[]? interfaces);
[<Android.Runtime.Register("resolveProxyClass", "([Ljava/lang/String;)Ljava/lang/Class;", "GetResolveProxyClass_arrayLjava_lang_String_Handler")>]
abstract member ResolveProxyClass : string[] -> Java.Lang.Class
override this.ResolveProxyClass : string[] -> Java.Lang.Class

Parameter

interfaces
String[]

daftar nama antarmuka yang dideserialisasi dalam deskriptor kelas proksi

Mengembalikan

kelas proksi untuk antarmuka yang ditentukan

Atribut

Pengecualian

jika kelas proksi atau antarmuka yang ditentukan tidak dapat dibuat.

jika terjadi kesalahan saat membaca dari aliran sumber.

Keterangan

Mengembalikan kelas proksi yang mengimplementasikan antarmuka bernama dalam deskriptor kelas proksi; subkelas dapat menerapkan metode ini untuk membaca data kustom dari aliran bersama dengan deskriptor untuk kelas proksi dinamis, memungkinkan mereka menggunakan mekanisme pemuatan alternatif untuk antarmuka dan kelas proksi.

Metode ini dipanggil tepat sekali untuk setiap deskriptor kelas proksi unik dalam aliran.

Metode yang sesuai di ObjectOutputStream adalah annotateProxyClass. Untuk subkelas tertentu yang ObjectInputStream mengambil alih metode ini, annotateProxyClass metode dalam subkelas ObjectOutputStream yang sesuai harus menulis data atau objek apa pun yang dibaca oleh metode ini.

Implementasi default metode ini dalam ObjectInputStream mengembalikan hasil panggilan Proxy.getProxyClass dengan daftar Class objek untuk antarmuka yang dinamai interfaces dalam parameter. Objek Class untuk setiap nama i antarmuka adalah nilai yang dikembalikan dengan memanggil

Class.forName(i, false, loader)

di mana loader dari loader non-kelasnull pertama meningkatkan tumpukan eksekusi, atau null jika tidak ada loader non-kelasnull yang ada di tumpukan (pilihan pemuat kelas yang sama yang digunakan oleh resolveClass metode ). Kecuali salah satu antarmuka yang diselesaikan bersifat non-publik, nilai loader yang sama ini juga merupakan loader kelas yang diteruskan ke Proxy.getProxyClass; jika antarmuka non-publik ada, loader kelasnya diteruskan sebagai gantinya (jika lebih dari satu loader kelas antarmuka non-publik ditemui, maka IllegalAccessError akan dilemparkan). Jika Proxy.getProxyClass melempar IllegalArgumentException, resolveProxyClass akan melemparkan yang ClassNotFoundException berisi IllegalArgumentException.

Ditambahkan dalam 1.3.

Java dokumentasi untuk java.io.ObjectInputStream.resolveProxyClass(java.lang.String[]).

Bagian dari halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Android Open Source Project dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Creative Commons 2.5 Lisensi Atribusi.

Berlaku untuk