Compartilhar via


ObjectInputStream.ResolveObject(Object) Método

Definição

Esse método permitirá que subclasses confiáveis de ObjectInputStream substituam um objeto por outro durante a desserialização.

[Android.Runtime.Register("resolveObject", "(Ljava/lang/Object;)Ljava/lang/Object;", "GetResolveObject_Ljava_lang_Object_Handler")]
protected virtual Java.Lang.Object? ResolveObject (Java.Lang.Object? obj);
[<Android.Runtime.Register("resolveObject", "(Ljava/lang/Object;)Ljava/lang/Object;", "GetResolveObject_Ljava_lang_Object_Handler")>]
abstract member ResolveObject : Java.Lang.Object -> Java.Lang.Object
override this.ResolveObject : Java.Lang.Object -> Java.Lang.Object

Parâmetros

obj
Object

objeto a ser substituído

Retornos

O objeto substituído

Atributos

Exceções

se ocorrer algum erro de E/S ao criar o objeto de substituição.

Comentários

Esse método permitirá que subclasses confiáveis de ObjectInputStream substituam um objeto por outro durante a desserialização. A substituição de objetos é desabilitada até que enableResolveObject seja chamado. O método enableResolveObject verifica se o fluxo que solicita a resolução do objeto pode ser confiável. Cada referência a objetos serializáveis é passada para resolveObject. Para garantir que o estado privado dos objetos não seja exposto involuntariamente, somente fluxos confiáveis podem usar resolveObject.

Esse método é chamado depois que um objeto foi lido, mas antes de ser retornado de readObject. O método resolveObject padrão apenas retorna o mesmo objeto.

Quando uma subclasse está substituindo objetos, ela deve garantir que o objeto substituído seja compatível com todos os campos onde a referência será armazenada. Objetos cujo tipo não é uma subclasse do tipo do campo ou elemento de matriz abortam a serialização gerando uma exceção e o objeto não é armazenado.

Esse método é chamado apenas uma vez quando cada objeto é encontrado pela primeira vez. Todas as referências subsequentes ao objeto serão redirecionadas para o novo objeto.

Documentação Java para java.io.ObjectInputStream.resolveObject(java.lang.Object).

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.

Aplica-se a

Confira também