Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface DirObjectFactory extends ObjectFactory
Платформа JNDI учитывает объектные реализации, которые будут загружены в динамически через объектные фабрики. См. ObjectFactory для деталей.
DirObjectFactory расширяет ObjectFactory, позволяя экземпляр Attributes быть предоставленным методу getObjectInstance(). реализации DirObjectFactory предназначаются, чтобы использоваться поставщиками услуг DirContext. У поставщика услуг, кроме того читая объект из каталога, могли бы уже быть атрибуты, которые полезны для объектной фабрики, чтобы проверить, чтобы видеть, как ли фабрика, предполагается, обрабатывает объект. Например, поставщик услуг LDAP-стиля, возможно, считал "objectclass" объекта. Фабрика объекта CORBA могла бы интересоваться только записями LDAP с "objectclass=corbaObject". При использовании атрибутов, предоставленных поставщиком услуг LDAP, фабрика объекта CORBA может быстро устранить объекты, о которых это не должно волноваться, и фабрики объекта non-CORBA могут быстро устранить CORBA-связанные записи LDAP.
NamingManager.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable<?, ?>)
, DirectoryManager.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable<?, ?>, javax.naming.directory.Attributes)
, ObjectFactory
Модификатор и Тип | Метод и Описание |
---|---|
Объект |
getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable<?,?> environment, Attributes attrs)
Создает объект, используя расположение или информацию о ссылке, и приписывает определенный.
|
getObjectInstance
Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable<?,?> environment, Attributes attrs) throws Exception
Особые требования этого объекта предоставляются, используя environment
. Примером такого свойства среды является пользовательская информация об идентификационных данных.
DirectoryManager.getObjectInstance() последовательно загружается на объектных фабриках. Если это встретится с DirObjectFactory, то это вызовет DirObjectFactory.getObjectInstance(); иначе, это вызывает ObjectFactory.getObjectInstance(). Это делает это, пока фабрика не производит ненулевой ответ.
Когда исключение выдается объектной фабрикой, исключение передается вызывающей стороне DirectoryManager.getObjectInstance(). Поиск других фабрик, которые могут произвести ненулевой ответ, останавливается. Объектная фабрика должна только выдать исключение, если это уверено, что это - единственная намеченная фабрика и что никакие другие объектные фабрики нельзя попробовать. Если эта фабрика не может создать объект, используя предоставленные параметры, она должна возвратить нуль.
Так как DirObjectFactory расширяет ObjectFactory, у него эффективно есть два метода getObjectInstance(), где каждый отличается от другого параметром атрибутов. Учитывая фабрику, которая реализует DirObjectFactory, DirectoryManager.getObjectInstance() будет только использовать метод, который принимает параметр атрибутов, в то время как NamingManager.getObjectInstance() будет только использовать тот, который не принимает параметр атрибутов.
См. ObjectFactory для описания фабрики контекста URL и другие свойства объектных фабрик, которые применяются одинаково к DirObjectFactory.
name, attrs, и параметры environment принадлежат вызывающей стороне. Реализация не будет изменять эти объекты или сохранять ссылки на них, хотя она может сохранить ссылки на клонов или копии.
obj
- Возможно нулевой объект, содержащий расположение или информацию о ссылке, которая может использоваться в создании объекта.name
- Имя этого объекта относительно nameCtx
, или нуль, если никакое имя не определяется.nameCtx
- Контекстно-зависимое то, к который name
параметр определяется, или нуль если name
относительно контекста начальной буквы значения по умолчанию.environment
- Возможно нулевая среда, которая используется в создании объекта.attrs
- Возможно неопределенные атрибуты, содержащие некоторые из атрибутов obj. у attrs не могло бы обязательно быть всех атрибутов obj. Если объектная фабрика требует большего количества атрибутов, это должно получить это, или использование obj, или name и nameCtx. Фабрика не должна изменить attrs.Exception
- Если эту объектную фабрику, с которой встречаются исключение, пытаясь создать объект, и никакие другие объектные фабрики, нужно попробовать.DirectoryManager.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable<?, ?>, javax.naming.directory.Attributes)
, NamingManager.getURLContext(java.lang.String, java.util.Hashtable<?, ?>)
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92