Класс MarshalledObject<T>
- java.lang.Object
-
- java.rmi.MarshalledObject<T>
- Параметры типа:
-
T— тип объекта, содержащегося в этомMarshalledObject
- Все реализованные интерфейсы:
- Serializable
public final class MarshalledObject<T> extends Object implements Serializable
Класс MarshalledObject содержит байтовый поток с сериализованным представлением объекта, переданного в его конструктор. Метод get возвращает новую копию исходного объекта, десериализованную из содержащегося байтового потока. Содержащийся объект сериализуется и десериализуется с помощью тех же семантик сериализации, которые используются для маршаллирования и унмаршаллирования параметров и возвращаемых значений вызовов RMI: при создании сериализованной формы:
- классы аннотируются URL кодовой базы, откуда класс может быть загружен (если доступен), и
- любой удалённый объект в
MarshalledObjectпредставлен сериализованной инстанцией его заместителя.
При получении копии объекта (через метод get), если класс недоступен локально, он будет загружен из соответствующего местоположения (указанного URL, аннотированного описателем класса при сериализации класса).
MarshalledObject облегчает передачу объектов в вызовах RMI, которые не десериализуются автоматически удалённым узлом немедленно.
- С:
- 1.2
- См. также:
- Сериализованная форма
Конструкторы
| Конструктор и описание |
|---|
MarshalledObject(T obj) Создаёт новый |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
boolean |
equals(Object obj) Сравнивает этот |
T |
get() Возвращает новую копию содержащегося маршаллированного объекта. |
int |
hashCode() Возвращает хеш-код для этого |
Методы, унаследованные от класса java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait Конструкторы
MarshalledObject
public MarshalledObject(T obj)
throws IOException Создаёт новый MarshalledObject, который содержит сериализованное представление текущего состояния переданного объекта. Объект сериализуется с семантикой, используемой для маршаллирования параметров для вызовов RMI.
- Параметры:
-
obj- объект, подлежащий сериализации (должен быть сериализуемым) - Исключения:
-
IOException- если произошла ошибка; может произойтиIOException, еслиobjне сериализуем. - С:
- 1.2
Методы
get
public T get()
throws IOException,
ClassNotFoundException Возвращает новую копию содержащегося маршаллированного объекта. Внутреннее представление десериализуется с семантикой, используемой для унмаршаллирования параметров для вызовов RMI.
- Возвращает:
- копия содержащегося объекта
- Исключения:
-
IOException- если произошла ошибка при десериализации объекта из его внутреннего представления. -
ClassNotFoundException- если произошла ошибка при десериализации объекта из его внутреннего представления. класс не найден - С:
- 1.2
hashCode
public int hashCode()
Возвращает хеш-код для этого MarshalledObject.
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- хеш-код
- См. также:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
equals
public boolean equals(Object obj)
Сравнивает этот MarshalledObject с другим объектом. Возвращает true, если и только если аргумент ссылается на MarshalledObject , который содержит ровно то же самое сериализованное представление объекта, что и этот. Сравнение игнорирует аннотации кодовой базы класса, что означает, что два объекта эквивалентны, если они имеют одинаковое сериализованное представление кроме кодовой базы каждого класса в сериализованном представлении.
- Переопределяет:
-
equalsв классеObject - Параметры:
-
obj- объект для сравнения с этимMarshalledObject - Возвращает:
-
trueесли аргумент содержит эквивалентный сериализованный объект;falseв противном случае - С:
- 1.2
- См. также:
-
Object.hashCode(),HashMap
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.