Интерфейс Object
- Все известные подинтерфейсы:
- AdapterActivator, BindingIterator, ClientRequestInfo, ClientRequestInterceptor, Codec, CodecFactory, Current, Current, Current, DomainManager, DynAny, DynAny, DynAnyFactory, DynArray, DynArray, DynEnum, DynEnum, DynFixed, DynFixed, DynSequence, DynSequence, DynStruct, DynStruct, DynUnion, DynUnion, DynValue, DynValue, DynValueBox, DynValueCommon, IdAssignmentPolicy, IDLType, IdUniquenessPolicy, ImplicitActivationPolicy, Interceptor, IORInfo, IORInterceptor, IORInterceptor_3_0, IRObject, LifespanPolicy, NamingContext, NamingContextExt, ORBInitializer, ORBInitInfo, POA, POAManager, Policy, PolicyFactory, RequestInfo, RequestProcessingPolicy, RunTime, ServantActivator, ServantLocator, ServantManager, ServantRetentionPolicy, ServerRequestInfo, ServerRequestInterceptor, ThreadPolicy
- Все известные реализующие классы:
- _BindingIteratorImplBase, _BindingIteratorStub, _DynAnyFactoryStub, _DynAnyStub, _DynArrayStub, _DynEnumStub, _DynFixedStub, _DynSequenceStub, _DynStructStub, _DynUnionStub, _DynValueStub, _IDLTypeStub, _NamingContextExtStub, _NamingContextImplBase, _NamingContextStub, _PolicyStub, _Remote_Stub, _ServantActivatorStub, _ServantLocatorStub, DynamicImplementation, LocalObject, ObjectImpl, ObjectImpl, Stub
public interface Object
Определение ссылки на объект CORBA.
Ссылка на объект CORBA — это маркер для конкретного объекта CORBA, реализованного сервером. Ссылка на объект CORBA идентифицирует один и тот же объект CORBA каждый раз, когда она используется для вызова метода объекта. Один объект CORBA может иметь несколько различных ссылок на него.
Интерфейс org.omg.CORBA.Object является корнем иерархии наследования для всех ссылок на объекты CORBA на языке программирования Java, аналогично java.rmi.Remote для удаленных объектов RMI.
Объект CORBA может быть локальным или удалённым. Если это локальный объект (т. е. выполняющийся в той же виртуальной машине, что и клиент), вызовы могут быть непосредственно обработаны экземпляром объекта, и ссылка на объект может указывать на фактический экземпляр класса реализации объекта. Если объект CORBA является удаленным объектом (т. е. выполняющимся в другой виртуальной машине, чем клиент), ссылка на объект указывает на заглушку (прокси), которая использует механизм ORB для удаленного вызова на сервере, где находится реализация объекта.
Стандартные реализации методов в интерфейсе org.omg.CORBA.Object предоставляются в классе org.omg.CORBA.portable.ObjectImpl, который является базовым классом для заглушек и реализаций объектов.
- См. также:
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 exclist,
ContextList ctxlist) Создаёт экземпляр |
Object |
_duplicate() Возвращает дубликат этой ссылки на объект CORBA. |
DomainManager[] |
_get_domain_managers() Получает |
Object |
_get_interface_def() Получает |
Policy |
_get_policy(int policy_type) Возвращает объект |
int |
_hash(int maximum) Возвращает идентификатор, используемый внутренними механизмами ORB, для этой ссылки на объект. |
boolean |
_is_a(String repositoryIdentifier) Проверяет, является ли этот объект экземпляром класса, который реализует указанный интерфейс. |
boolean |
_is_equivalent(Object other) Определяет, эквивалентны ли две ссылки на объект, насколько это легко определить ORB. |
boolean |
_non_existent() Определяет, был ли объект сервера для этой ссылки на объект уничтожен. |
void |
_release() Сигнализирует, что вызывающая сторона закончила использование этой ссылки на объект, поэтому внутренние ресурсы ORB, связанные с этой ссылкой на объект, могут быть освобождены. |
Request |
_request(String operation) Создаёт экземпляр |
Object |
_set_policy_override(Policy[] policies,
SetOverrideType set_add) Возвращает новый |
Методы
_is_a
boolean _is_a(String repositoryIdentifier)
Проверяет, является ли этот объект экземпляром класса, реализующего заданный интерфейс.
- Параметры:
-
repositoryIdentifier- интерфейс для проверки - Возвращает:
-
true, если эта ссылка на объект является экземпляром класса, реализующего интерфейс;falseв противном случае
_is_equivalent
boolean _is_equivalent(Object other)
Определяет, эквивалентны ли две ссылки на объекты, насколько легко это может определить ORB. Две ссылки на объекты эквивалентны, если они идентичны. Две разные ссылки на объекты, которые фактически ссылаются на один и тот же объект, также эквивалентны. Однако ORB не обязаны пытаться определить, ссылаются ли две разные ссылки на один и тот же объект, поскольку такое определение может быть непрактично затратным.
- Параметры:
-
other- другая ссылка на объект для проверки эквивалентности - Возвращает:
-
true, если эта ссылка на объект, по имеющимся данным, эквивалентна данной ссылке на объект. Обратите внимание, чтоfalseуказывает только на то, что две ссылки на объекты различны, а не обязательно на то, что они ссылаются на разные объекты.
_non_existent
boolean _non_existent()
Определяет, был ли серверный объект для этой ссылки на объект уничтожен.
- Возвращает:
-
true, если ORB достоверно знает, что серверный объект не существует;falseв противном случае
_hash
int _hash(int maximum)
Возвращает внутренний идентификатор ORB для этой ссылки на объект. Это идентификатор хеширования, который не изменяется в течение жизни ссылки на объект, и поэтому не изменится ни одна функция хеширования этого идентификатора. Возвращаемое значение не гарантируется как уникальное; другими словами, другая ссылка на объект может иметь то же значение хеширования. Если у двух ссылок на объекты разные значения хеширования, то они являются различными ссылками на объекты; однако они все еще могут ссылаться на один и тот же объект CORBA.
- Параметры:
-
maximum- верхняя граница значения хеширования, возвращаемого ORB - Возвращает:
- внутренний идентификатор хеширования ORB для этой ссылки на объект
_duplicate
Object _duplicate()
Возвращает дубликат этой ссылки на объект CORBA. Реализация серверного объекта не участвует в создании дубликата, и реализация не может отличить, использовалась ли исходная ссылка на объект или дубликат для выполнения запроса.
Обратите внимание, что этот метод не очень полезен в платформе Java, так как управление памятью выполняется виртуальной машиной. Он включён для соответствия API CORBA.
Метод _duplicate может вернуть эту ссылку на объект.
- Возвращает:
- дубликат этой ссылки на объект или саму эту ссылку на объект
_release
void _release()
Сигнализирует, что вызывающий метод закончил использование этой ссылки на объект, поэтому внутренние ресурсы ORB, связанные с этой ссылкой на объект, могут быть освобождены. Обратите внимание, что реализация объекта не участвует в этой операции, и другие ссылки на тот же объект не затрагиваются.
_get_interface_def
Object _get_interface_def()
Получает InterfaceDef для реализации объекта, на которую ссылается эта ссылка на объект. Объект InterfaceDef может использоваться для интроспекции методов, атрибутов и другой информации о типе для объекта, на который ссылается эта ссылка на объект.
- Возвращает:
- объект
InterfaceDefв хранилище интерфейсов, который предоставляет информацию о типе объекта, на который ссылается эта ссылка на объект
_request
Request _request(String operation)
Создаёт экземпляр Request для использования в динамическом интерфейсе вызова.
- Параметры:
-
operation- имя метода, который будет вызван с помощью экземпляраRequest - Возвращает:
- новый созданный экземпляр
Request
_create_request
Request _create_request(Context ctx,
String operation,
NVList arg_list,
NamedValue result) Создаёт экземпляр Request , инициализированный заданным контекстом, именем метода, списком аргументов и контейнером для возвращаемого значения метода.
- Параметры:
-
ctx- объектContext, содержащий список свойств -
operation- имя вызываемого метода -
arg_list-NVList, содержащий фактические аргументы вызываемого метода -
result- объектNamedValue, используемый в качестве контейнера для возвращаемого значения метода - Возвращает:
- новый созданный объект
Request - См. также:
-
Request,NVList,NamedValue
_create_request
Request _create_request(Context ctx,
String operation,
NVList arg_list,
NamedValue result,
ExceptionList exclist,
ContextList ctxlist) Создаёт экземпляр Request , инициализированный заданным контекстом, именем метода, списком аргументов, контейнером для возвращаемого значения метода, списком возможных исключений и списком строк контекста, которые нужно разрешить.
- Параметры:
-
ctx- объектContext, содержащий список свойств -
operation- имя вызываемого метода -
arg_list-NVList, содержащий фактические аргументы вызываемого метода -
result- объектNamedValue, используемый в качестве контейнера для возвращаемого значения метода -
exclist- объектExceptionList, содержащий список возможных исключений, которые может выбросить метод -
ctxlist- объектContextList, содержащий список строк контекста, которые нужно разрешить и отправить с экземпляромRequest - Возвращает:
- новый созданный объект
Request - См. также:
-
Request,NVList,NamedValue,ExceptionList,ContextList
_get_policy
Policy _get_policy(int policy_type)
Возвращает объект Policy указанного типа, который применяется к этому объекту.
- Параметры:
-
policy_type- тип политики, который нужно получить - Возвращает:
- Объект
Policyтипа, указанного параметром policy_type - Исключение:
-
BAD_PARAM- при некорректном значении типа политики, например, указанный тип не поддерживается этим ORB или объект политики этого типа не связан с этим объектом
_get_domain_managers
DomainManager[] _get_domain_managers()
Получает DomainManagers этого объекта. Это позволяет административным службам (и приложениям) получить менеджеров домена, а следовательно, политики безопасности и другие политики, применимые к отдельным объектам, которые являются членами домена.
- Возвращает:
- список непосредственно окружающих менеджеров домена этого объекта. В списке всегда возвращается как минимум один менеджер домена, так как по умолчанию каждый объект при создании ассоциируется как минимум с одним менеджером домена.
_set_policy_override
Object _set_policy_override(Policy[] policies,
SetOverrideType set_add) Возвращает новый Object с заданными политиками, которые либо заменяют любые существующие политики в этом Object, или добавляются к существующим, в зависимости от значения заданного объекта SetOverrideType.
- Параметры:
-
policies- массив объектовPolicy, содержащих политики, которые нужно добавить или использовать в качестве замены -
set_add- либоSetOverrideType.SET_OVERRIDE, указывающее, что заданные политики заменят любые существующие; либоSetOverrideType.ADD_OVERRIDE, указывающее, что заданные политики должны быть добавлены к любым существующим - Возвращает:
- новый
Objectс заданными политиками, заменяющими или добавляющимися к тем, которые есть в этомObject
© 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.