Класс 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() | Возвращает новую копию содержащегося marshalledobject. |
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Возвращает новую копию содержащегося marshalledobject. Внутреннее представление десериализуется с семантиками, используемыми для демаршаллирования параметров для вызовов RMI. Если MarshalledObject был прочитан из ObjectInputStream, используется фильтр из этого потока для десериализации объекта.
- Возвращает:
- копию содержащегося объекта
- Исключения:
-
IOException— если произошла ошибкаIOExceptionпри десериализации объекта из его внутреннего представления. -
ClassNotFoundException— если произошла ошибка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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.rmi/java/rmi/MarshalledObject.html