Класс ObjectImpl
- java.lang.Object
-
- org.omg.CORBA.portable.ObjectImpl
- Все реализованные интерфейсы:
- Object
- Прямые известные подклассы:
- _BindingIteratorStub, _DynAnyFactoryStub, _DynAnyStub, _DynArrayStub, _DynEnumStub, _DynFixedStub, _DynSequenceStub, _DynStructStub, _DynUnionStub, _DynValueStub, _IDLTypeStub, _NamingContextExtStub, _NamingContextStub, _PolicyStub, _ServantActivatorStub, _ServantLocatorStub, DynamicImplementation, ObjectImpl
public abstract class ObjectImpl extends Object implements Object
Базовый класс для всех классов-заглушек; предоставляет реализацию по умолчанию для org.omg.CORBA.Object методов. Все реализации методов перенаправляются на объект Delegate, хранящийся в экземпляре ObjectImpl. ObjectImpl обеспечивает портативность заглушек, так как Delegate может быть реализован различными поставщиками ORB.
Конструкторы
| Конструктор и описание |
|---|
ObjectImpl() |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
Request |
_create_request(Context ctx,
String operation,
NVList arg_list,
NamedValue result) Создаёт объект |
Request |
_create_request(Context ctx,
String operation,
NVList arg_list,
NamedValue result,
ExceptionList exceptions,
ContextList contexts) Создаёт объект |
Object |
_duplicate() Возвращает дубликат этого объекта |
Delegate |
_get_delegate() Получает ссылку на объект |
DomainManager[] |
_get_domain_managers() Получает список менеджеров домена для этого объекта |
Object |
_get_interface_def() Получает определение интерфейса для этого объекта |
Policy |
_get_policy(int policy_type) Получает объект |
int |
_hash(int maximum) Получает хэш-код, служащий внутренним идентификатором ORB для этого объекта |
abstract String[] |
_ids() Возвращает массив строк, содержащий идентификаторы хранилища, поддерживаемые этим объектом |
InputStream |
_invoke(OutputStream output) Вызывает операцию и возвращает объект |
boolean |
_is_a(String repository_id) Проверяет, является ли объект, идентифицированный указанным идентификатором хранилища, объектом |
boolean |
_is_equivalent(Object that) Проверяет, эквивалентен ли указанный объект |
boolean |
_is_local() Проверяет, реализован ли этот объект |
boolean |
_non_existent() Проверяет, был ли уничтожен серверный объект для этого объекта |
ORB |
_orb() Возвращает ссылку на ORB, связанную с этим объектом и его делегатом. |
void |
_release() Освобождает ресурсы, связанные с этим объектом |
void |
_releaseReply(InputStream input) Возвращает предоставленный поток ответа в ORB, когда завершается размаршировка после вызова метода |
Request |
_request(String operation) Создаёт объект |
OutputStream |
_request(String operation,
boolean responseExpected) Возвращает объект |
void |
_servant_postinvoke(ServantObject servant) Вызывается локальной заглушкой после вызова операции на локальном слуге, который был ранее получен из вызова метода |
ServantObject |
_servant_preinvoke(String operation,
Class expectedType) Возвращает Java ссылку на локального слугу, который должен быть использован для отправки запроса для указанного метода. |
void |
_set_delegate(Delegate delegate) Устанавливает делегата для этого экземпляра |
Object |
_set_policy_override(Policy[] policies,
SetOverrideType set_add) Устанавливает тип переопределения для этого объекта |
boolean |
equals(Object obj) Сравнивает этот объект |
int |
hashCode() Возвращает хэш-код для этого объекта |
String |
toString() Возвращает объект |
Методы, унаследованные от класса java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait Краткое описание конструкторов
ObjectImpl
public ObjectImpl()
Краткое описание методов
_get_delegate
public Delegate _get_delegate()
Извлекает ссылку на специфичный для поставщика Delegate объект, которому этот ObjectImpl объект делегирует все вызываемые на нем методы.
- Возвращает:
- делегат, содержащийся в этом экземпляре ObjectImpl
- Исключения:
-
BAD_OPERATION- если делегат не был установлен - См. также:
_set_delegate(org.omg.CORBA.portable.Delegate)
_set_delegate
public void _set_delegate(Delegate delegate)
Устанавливает делегат для этого экземпляра ObjectImpl в заданный Delegate объект. Все вызовы методов для этого ObjectImpl объекта будут перенаправлены этому делегату.
- Параметры:
-
delegate- экземплярDelegate, которому будут делегированы все вызовы методов для этогоObjectImplобъекта; может быть реализован сторонним ORB - См. также:
_get_delegate()
_ids
public abstract String[] _ids()
Извлекает строковый массив, содержащий идентификаторы репозитория, поддерживаемые этим ObjectImpl объектом. Например, для заглушки этот метод возвращает информацию о всех интерфейсах, поддерживаемых заглушкой.
- Возвращает:
- массив всех идентификаторов репозитория, поддерживаемых этим экземпляром
ObjectImpl
_duplicate
public Object _duplicate()
Возвращает дубликат этого ObjectImpl объекта.
- Указано в:
-
_duplicateв интерфейсеObject - Возвращает:
- объект
orb.omg.CORBA.Object, являющийся дубликатом этого объекта
_release
public void _release()
Освобождает ресурсы, связанные с этим ObjectImpl объектом.
_is_a
public boolean _is_a(String repository_id)
Проверяет, является ли объект, идентифицированный заданным идентификатором репозитория, объектом ObjectImpl.
- Указано в:
-
_is_aв интерфейсеObject - Параметры:
-
repository_id- объектStringс идентификатором репозитория для проверки - Возвращает:
-
trueесли объект, идентифицированный заданным идентификатором репозитория, является экземпляромObjectImpl;falseв противном случае
_is_equivalent
public boolean _is_equivalent(Object that)
Проверяет, эквивалентен ли данный ObjectImpl объект этому ObjectImpl объекту.
- Указано в:
-
_is_equivalentв интерфейсеObject - Параметры:
-
that- экземплярObjectImplдля сравнения с этимObjectImplобъектом - Возвращает:
-
trueесли данный объект эквивалентен этомуObjectImplобъекту;falseв противном случае
_non_existent
public boolean _non_existent()
Проверяет, был ли уничтожен серверный объект для этого ObjectImpl объекта.
- Указано в:
-
_non_existentв интерфейсеObject - Возвращает:
-
trueесли ORB достоверно знает, что серверный объект не существует;falseв противном случае
_hash
public int _hash(int maximum)
Извлекает хэш-код, который служит внутренним идентификатором ORB для этого ObjectImpl объекта.
- Указано в:
-
_hashв интерфейсеObject - Параметры:
-
maximum-int, указывающий верхнюю границу значения хэш-кода, возвращаемого ORB - Возвращает:
int, представляющий хэш-код для этогоObjectImplобъекта
_request
public Request _request(String operation)
Создает объект Request, содержащий заданный метод, который может использоваться с интерфейсом динамического вызова.
- Указано в:
-
_requestв интерфейсеObject - Параметры:
-
operation- метод, который будет вызван новым объектомRequest - Возвращает:
- новый объект
Request, инициализированный заданным методом
_create_request
public Request _create_request(Context ctx,
String operation,
NVList arg_list,
NamedValue result) Создает объект Request, содержащий заданный контекст, метод, список аргументов и контейнер для результата.
- Указано в:
-
_create_requestв интерфейсеObject - Параметры:
-
ctx- контекст для запроса -
operation- метод, который будет вызван новым объектомRequest -
arg_list- аргументы для метода;NVList, в котором каждый аргумент является объектомNamedValue -
result- объектNamedValue, который будет использоваться для возврата результата выполнения метода запроса - Возвращает:
- новый объект
Request, инициализированный заданным контекстом, методом, списком аргументов и контейнером для возвращаемого значения - См. также:
-
Request,NVList,NamedValue
_create_request
public Request _create_request(Context ctx,
String operation,
NVList arg_list,
NamedValue result,
ExceptionList exceptions,
ContextList contexts) Создает объект Request, содержащий заданный контекст, метод, список аргументов, контейнер для результата, исключения и список имен свойств, которые будут использоваться при разрешении строковых контекстов. Этот Request объект предназначен для использования в интерфейсе динамического вызова.
- Указано в:
-
_create_requestв интерфейсеObject - Параметры:
-
ctx- объектContext, содержащий строковые контексты, которые должны быть разрешены перед отправкой вместе с запросом -
operation- метод, который будет вызван новым объектомRequest -
arg_list- аргументы для метода;NVList, в котором каждый аргумент является объектомNamedValue -
result- объектNamedValue, который будет использоваться для возврата результата выполнения метода запроса -
exceptions- список исключений, которые вызывает заданный метод -
contexts- список свойств, необходимых для разрешения контекстов в ctx; строки в contexts используются в качестве аргументов для методаContext.get_values, который возвращает значение, связанное с заданным свойством - Возвращает:
- новый объект
Request, инициализированный заданными строками контекста для разрешения, методом, списком аргументов, контейнером для результата, исключениями и списком имен свойств, которые будут использоваться при разрешении строковых контекстов - См. также:
-
Request,NVList,NamedValue,ExceptionList,ContextList
_get_interface_def
public Object _get_interface_def()
Извлекает определение интерфейса для этого ObjectImpl объекта.
- Указано в:
-
_get_interface_defв интерфейсеObject - Возвращает:
- экземпляр
org.omg.CORBA.Object, который является определением интерфейса для этогоObjectImplобъекта
_orb
public ORB _orb()
Возвращает ссылку на ORB, связанный с этим объектом и его делегатом. Это объект ORB, создавший делегат.
- Возвращает:
- экземпляр
ORB, создавший объектDelegate, содержащийся в этом объектеObjectImpl
_get_policy
public Policy _get_policy(int policy_type)
Извлекает объект Policy для этого объекта ObjectImpl, имеющий заданный тип политики.
- Указано в:
-
_get_policyв интерфейсеObject - Параметры:
-
policy_type- целое число, указывающее тип политики - Возвращает:
- объект
Policy, который является указанным типом политики и применяется к этому объектуObjectImpl - См. также:
PolicyOperations.policy_type()
_get_domain_managers
public DomainManager[] _get_domain_managers()
Извлекает список менеджеров доменов для этого объекта ObjectImpl.
- Указано в:
-
_get_domain_managersв интерфейсеObject - Возвращает:
- массив, содержащий объекты
DomainManagerдля этого экземпляраObjectImpl
_set_policy_override
public Object _set_policy_override(Policy[] policies,
SetOverrideType set_add) Устанавливает тип переопределения этого объекта ObjectImpl для заданных политик в заданный экземпляр SetOverrideType.
- Указано в:
-
_set_policy_overrideв интерфейсеObject - Параметры:
-
policies- массив объектовPolicy, содержащий политики, которые заменят текущие политики или будут добавлены к текущим политикам -
set_add- либоSetOverrideType.SET_OVERRIDE, указывающее, что заданные политики заменят все существующие, либоSetOverrideType.ADD_OVERRIDE, указывающее, что заданные политики должны быть добавлены ко всем существующим - Возвращает:
- объект
Object, в котором заданные политики заменяют или добавляются к его предыдущим политикам
_is_local
public boolean _is_local()
Проверяет, реализован ли этот объект ObjectImpl локальным сервлетом. Если это так, то можно использовать локальные API вызова.
- Возвращает:
-
trueесли этот объект реализован локальным сервлетом;falseв противном случае
_servant_preinvoke
public ServantObject _servant_preinvoke(String operation,
Class expectedType) Возвращает ссылку на локального серванта, который должен использоваться для отправки запроса на указанный метод. Если этот ObjectImpl объект является локальным заглушкой, он вызовет метод _servant_preinvoke перед отправкой запроса для получения объекта ServantObject для использования.
Если возвращается объект ServantObject, его поле servant установлено в объект ожидаемого типа (Примечание: объект может или не может быть фактическим экземпляром серванта). Локальная заглушка может привести к приведению типа поля серванта к ожидаемому типу и затем непосредственно вызвать операцию. Объект ServantRequest действителен только для одного вызова и не может быть использован для более чем одного вызова.
- Parameters:
-
operation-String, содержащий имя вызываемого метода. Это имя должно соответствовать имени метода, как оно кодируется в запросе GIOP. -
expectedType- объектClass, представляющий ожидаемый тип возвращаемого серванта. Этот ожидаемый тип — объектClass, связанный с классом операций для интерфейса заглушки. Например, заглушка для интерфейсаFooпередаст объектClassдля интерфейсаFooOperations. - Returns:
- (1) объект
ServantObject, который может или не может быть фактическим экземпляром серванта, или (2)null, если (a) сервант не является локальным или (b) сервант перестал быть локальным из-за ForwardRequest от POA ServantManager - Throws:
-
BAD_PARAM- если сервант не является объектом ожидаемого типа
_servant_postinvoke
public void _servant_postinvoke(ServantObject servant)
Вызывается локальной заглушкой после того, как она вызвала операцию на локальном серванте, который был ранее получен из вызова метода _servant_preinvoke. Метод _servant_postinvoke должен быть вызван, если метод _servant_preinvoke вернул ненулевое значение, даже если метод, вызванный сервантом, выбросил исключение. По этой причине вызов метода _servant_postinvoke должен быть помещен в блок Java finally.
- Parameters:
-
servant- экземплярServantObject, возвращенный методом_servant_preinvoke
_request
public OutputStream _request(String operation,
boolean responseExpected) Возвращает объект OutputStream для маришрования аргументов заданного метода. Этот метод вызывается заглушкой, которая должна указать, ожидается ли ответ, то есть является ли вызов односторонним.
- Parameters:
-
operation- строка, содержащая имя метода. -
responseExpected- булево значение —trueесли запрос не односторонний, то есть ожидается ответ - Returns:
- объект
OutputStreamдля обработки запроса
_invoke
public InputStream _invoke(OutputStream output)
throws ApplicationException,
RemarshalException Вызывает операцию и возвращает объект InputStream для чтения ответа. Заглушка предоставляет объект OutputStream, который был ранее возвращён вызовом метода _request. Метод, указанный в качестве аргумента к _request при его предыдущем вызове, — это метод, который вызывается этим методом.
Если происходит исключение, метод _invoke может выбросить объект ApplicationException, который содержит поток входных данных, из которого можно разамаршировать пользовательское состояние исключения.
- Parameters:
-
output- объект OutputStream для обработки запроса - Returns:
- объект
InputStream, содержащий разамаршированный ответ на вызванный метод - Throws:
-
ApplicationException- если вызов приводит к приложению-определённому исключению -
RemarshalException- если вызов приводит к ошибке разамарширования - See Also:
_request(java.lang.String)
_releaseReply
public void _releaseReply(InputStream input)
Освобождает предоставленный поток ответа в ORB после завершения разамарширования после вызова метода _invoke. Вызов этого метода является необязательным для заглушки.
- Parameters:
-
input- объектInputStream, возвращённый методом_invokeили методомApplicationException.getInputStream; может бытьnull, в этом случае этот метод ничего не делает - See Also:
_invoke(org.omg.CORBA.portable.OutputStream)
toString
public String toString()
Возвращает объект String, представляющий этот объект ObjectImpl.
hashCode
public int hashCode()
Возвращает хэш-код для этого объекта ObjectImpl.
- Overrides:
-
hashCodeв классеObject - Returns:
- хэш-код этого объекта
- See Also:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
equals
public boolean equals(Object obj)
Сравнивает этот объект ObjectImpl с заданным на равенство.
- Overrides:
-
equalsв классеObject - Parameters:
-
obj- объект, с которым сравнивается этот объект - Returns:
-
trueесли два объекта равны;falseв противном случае - See Also:
-
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.