Spec-Zone .ru
спецификации, руководства, описания, API
|
public class NamingManager extends Object
Этот класс нельзя инстанцировать. У этого есть только статические методы.
Упоминание о URL в документации для этого класса обращается к строке URL как определено RFC 1738 и его связанным RFCs. Именно любая строка соответствует синтаксису, описанному там, и, возможно, не всегда имеет соответствующей поддержки в java.net. Средства просмотра классов URL или Веб-браузеры.
NamingManager безопасен для параллельного доступа многократными потоками.
Если не указано иное параметр Name или среды, который передают к любому методу, принадлежит вызывающей стороне. Реализация не будет изменять объект или сохранять ссылку на него, хотя он может сохранить ссылку на клона или копию.
Модификатор и Тип | Поле и Описание |
---|---|
static String |
CPE
Постоянный, который содержит имя свойства среды, в которое getContinuationContext() хранит значение своего параметра CannotProceedException.
|
Модификатор и Тип | Метод и Описание |
---|---|
static Context |
getContinuationContext(CannotProceedException cpe)
Создает контекст, в котором можно продолжать работу контекста.
|
static Context |
getInitialContext(Hashtable<?,?> env)
Создает начальный контекст, используя указанные свойства среды.
|
static Object |
getObjectInstance(Object refInfo, Name name, Context nameCtx, Hashtable<?,?> environment)
Создает экземпляр объекта для указанного объекта и среды.
|
static Object |
getStateToBind(Object obj, Name name, Context nameCtx, Hashtable<?,?> environment)
Получает состояние объекта для того, чтобы связать.
|
static Context |
getURLContext(String scheme, Hashtable<?,?> environment)
Создает контекст для данного идентификатора схемы URL.
|
static boolean |
hasInitialContextFactoryBuilder()
Определяет, был ли установлен начальный разработчик фабрики контекста.
|
static void |
setInitialContextFactoryBuilder(InitialContextFactoryBuilder builder)
Устанавливает разработчика InitialContextFactory, чтобы быть разработчиком.
|
static void |
setObjectFactoryBuilder(ObjectFactoryBuilder builder)
ObjectFactoryBuilder определяет политику, используемую, пытаясь загрузить объектные фабрики.
|
public static final String CPE
Значение этой константы "java.naming.spi. CannotProceedException".
getContinuationContext(javax.naming.CannotProceedException)
, Постоянные Значения полейpublic static void setObjectFactoryBuilder(ObjectFactoryBuilder builder) throws NamingException
Разработчик может только быть установлен, если выполняющийся поток позволяется (checkSetFactory менеджера безопасности () метод), чтобы сделать так. После того, как установленный, разработчик не может быть заменен.
builder
- Разработчик фабрики, чтобы установить. Если ноль, никакой разработчик не устанавливается.SecurityException
- разработчик не может быть установлен для соображений безопасности.NamingException
- разработчик не может быть установлен для не безопасности связанная причина.IllegalStateException
- Если фабрика была уже установлена.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable<?, ?>)
, ObjectFactory
, ObjectFactoryBuilder
, SecurityManager.checkSetFactory()
public static Object getObjectInstance(Object refInfo, Name name, Context nameCtx, Hashtable<?,?> environment) throws Exception
Если объектный разработчик фабрики был установлен, это используется, чтобы создать фабрику для того, чтобы создать объект. Иначе, следующие правила используются, чтобы создать объект:
refInfo
a Reference
или Referenceable
содержа имя класса фабрики, используйте именованную фабрику, чтобы создать объект. Возвратиться refInfo
если фабрика не может быть создана. Под JDK 1.1, если класс фабрики должен быть загружен из расположения, определенного в ссылке, должно быть, был установлен SecurityManager, или создание фабрики перестанет работать. Если с исключением встречаются, создавая фабрику, его передают до вызывающей стороны. refInfo
. Если с исключением встречаются, создавая объект, исключение передают до вызывающей стороны. Поставщики услуг, которые реализуют интерфейс DirContext, должны использовать DirectoryManager.getObjectInstance(), не этот метод. Поставщики услуг, которые реализуют только интерфейс Context, должны использовать этот метод.
Отметьте, что объектная фабрика (объект, который реализует интерфейс ObjectFactory) должна быть общедоступной и должна иметь общедоступного конструктора, который не принимает параметров.
name
и nameCtx
параметры могут дополнительно использоваться, чтобы определить имя создаваемого объекта. name
имя объекта, относительно контекста nameCtx
. Эта информация могла быть полезной для объектной фабрики или для объектной реализации. Если есть несколько возможных контекстов, от которых объект можно было назвать - как будет часто иметь место - это до вызывающей стороны, чтобы выбрать тот. Хорошее эмпирическое правило должно выбрать "самый глубокий" доступный контекст. Если nameCtx
нуль, name
относительно начального контекста по умолчанию. Если никакое имя не определяется, name
параметр должен быть нулем.
refInfo
- Возможно нулевой объект, для которого можно создать объект.name
- Имя этого объекта относительно nameCtx
. Определение имени является дополнительным; если это опускается, name
должен быть нуль.nameCtx
- Контекстно-зависимое то, к который name
параметр определяется. Если ноль, name
относительно начального контекста по умолчанию.environment
- Возможно нулевая среда, которая будет использоваться в создании объектной фабрики и объекта.refInfo
; или refInfo
если объект не может быть создан, используя алгоритм, описанный выше.NamingException
- если с исключением именования встретились, пытаясь получить контекст URL, или если одна из фабрик броски, к которым получают доступ, NamingException.Exception
- если одна из фабрик, к которым получают доступ, выдает исключение, или если с ошибкой встретились, загружаясь и инстанцируя фабрики и классов объектов. Фабрика должна только выдать исключение, если она не хочет, чтобы другие фабрики использовались в попытке создать объект. См. ObjectFactory.getObjectInstance ().getURLContext(java.lang.String, java.util.Hashtable<?, ?>)
, ObjectFactory
, ObjectFactory.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable<?, ?>)
public static Context getURLContext(String scheme, Hashtable<?,?> environment) throws NamingException
Получающийся контекст для того, чтобы разрешить URL схемы scheme
. Получающийся контекст не связывается к определенному URL. Это в состоянии обработать произвольные URL с указанной схемой.
У имени класса фабрики, которая создает получающийся контекст, есть схема-idURLContextFactory соглашения о присвоении имен (например, "ftpURLContextFactory" для идентификатора схемы "протокола передачи файлов") в пакете, определенном следующим образом. Свойство среды Context.URL_PKG_PREFIXES (который может содержать значения, принятые от параметров апплета, системных свойств, или файлов ресурсов приложения) содержит разделенный от двоеточия список префиксов пакета. Каждый префикс пакета в свойстве пробуют в порядке, определенном, чтобы загрузить класс фабрики. Префикс пакета по умолчанию является "com.sun.jndi.url" (если ни одна из указанной работы пакетов, это значение по умолчанию не пробуют). Полное имя пакета создается, используя префикс пакета, связанный с идентификатором схемы.
Например, если бы идентификатор схемы является "ldap", и свойство Context.URL_PKG_PREFIXES содержит "com.widget:com.wiz.jndi", менеджер по именованию попытался бы загрузить следующие классы, пока каждый успешно не инстанцируют:
Если фабрика инстанцируют, она вызывается со следующими параметрами, чтобы произвести получающийся контекст.
factory.getObjectInstance(null, environment);
Например, вызов getObjectInstance () как показано выше на фабрике контекста URL LDAP возвратил бы контекст, который может разрешить URL LDAP (например, "ldap://ldap.wiz.com/o=wiz, c=us", "ldap://ldap.umich.edu/o=umich, c=us"...).
Отметьте, что объектная фабрика (объект, который реализует интерфейс ObjectFactory) должна быть общедоступной и должна иметь общедоступного конструктора, который не принимает параметров.
scheme
- Ненулевой идентификатор схемы URL поддерживается контекстом.environment
- Возможно нулевые свойства среды, которые будут использоваться в создании объектной фабрики и контекста.scheme
; null
если фабрика для того, чтобы создать контекст не находится.NamingException
- Если исключение именования происходит, создавая контекст.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable<?, ?>)
, ObjectFactory.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable<?, ?>)
public static Context getInitialContext(Hashtable<?,?> env) throws NamingException
Если InitialContextFactoryBuilder был установлен, он используется, чтобы создать фабрику для того, чтобы создать начальный контекст. Иначе, класс, определенный в свойстве среды Context.INITIAL_CONTEXT_FACTORY, используется. Отметьте, что начальная фабрика контекста (объект, который реализует интерфейс InitialContextFactory) должна быть общедоступной и должна иметь общедоступного конструктора, который не принимает параметров.
env
- Возможно нулевые свойства среды, используемые, создавая контекст.NoInitialContextException
- Если свойство Context.INITIAL_CONTEXT_FACTORY не находится или называет несуществующий класс или класс, который нельзя инстанцировать, или если начальный контекст не мог бы быть создан по некоторой другой причине.NamingException
- Если с некоторым другим исключением именования встретились.InitialContext
, InitialDirContext
public static void setInitialContextFactoryBuilder(InitialContextFactoryBuilder builder) throws NamingException
Разработчик может только быть установлен, если выполняющийся поток позволяется менеджером безопасности сделать так. После того, как установленный, разработчик не может быть заменен.
builder
- Начальный разработчик фабрики контекста, чтобы установить. Если ноль, никакой разработчик не устанавливается.SecurityException
- разработчик не может быть установлен для соображений безопасности.NamingException
- разработчик не может быть установлен для не безопасности связанная причина.IllegalStateException
- Если разработчик был предыдущий установленный.hasInitialContextFactoryBuilder()
, SecurityManager.checkSetFactory()
public static boolean hasInitialContextFactoryBuilder()
setInitialContextFactoryBuilder(javax.naming.spi.InitialContextFactoryBuilder)
public static Context getContinuationContext(CannotProceedException cpe) throws NamingException
В выполнении работы на имени, которое охватывает многократные пространства имен, контекст от одной системы именования, возможно, должен передать работу на следующую систему именования. Реализация контекста делает это первым построением a CannotProceedException
содержа информационное точное определение, как далеко это продолжилось. Это тогда получает контекст продолжения из JNDI, вызывая getContinuationContext
. Реализация контекста должна тогда возобновить работу контекста, вызывая ту же самую работу на контекст продолжения, используя остаток от имени, которое еще не было разрешено.
Перед использованием параметра cpe этот метод обновляет среду, связанную с тем объектом, устанавливая значение свойства CPE to cpe. Это свойство будет наследовано контекстом продолжения, и может использоваться поставщиком услуг того контекста, чтобы осмотреть поля этого исключения.
cpe
- Ненулевое исключение, которое инициировало это продолжение.NamingException
- Если исключение именования произошло.public static Object getStateToBind(Object obj, Name name, Context nameCtx, Hashtable<?,?> environment) throws NamingException
Поставщики услуг, которые реализуют интерфейс DirContext, должны использовать DirectoryManager.getStateToBind(), не этот метод. Поставщики услуг, которые реализуют только интерфейс Context, должны использовать этот метод.
Этот метод использует указанные фабрики состояния в свойстве Context.STATE_FACTORIES от свойств среды, и от файла ресурсов провайдера, связанного с nameCtx, в том порядке. Значение этого свойства является разделенным от двоеточия списком имен классов фабрики, которые пробуют в порядке, и первый, который преуспевает в том, чтобы возвратить состояние объекта, является используемым тем. Если состояние никакого объекта не может быть получено таким образом, возвратите объект непосредственно. Если с исключением встречаются, получая состояние, исключение передают до вызывающей стороны.
Отметьте, что фабрика состояния (объект, который реализует интерфейс StateFactory) должна быть общедоступной и должна иметь общедоступного конструктора, который не принимает параметров.
name
и nameCtx
параметры могут дополнительно использоваться, чтобы определить имя создаваемого объекта. См. описание "Имени и Параметров Контекста" в ObjectFactory.getObjectInstance()
для деталей.
Этот метод может возвратить объект Referenceable. Поставщик услуг, получающий этот объект, может хотеть хранить это непосредственно, или извлекать его ссылку (использование Referenceable.getReference()) и хранилище это вместо этого.
obj
- Ненулевой объект, для которого можно заставить состояние связывать.name
- Имя этого объекта относительно nameCtx
, или нуль, если никакое имя не определяется.nameCtx
- Контекстно-зависимое то, к который name
параметр определяется, или нуль если name
относительно начального контекста по умолчанию.environment
- Возможно нулевая среда, которая будет использоваться в создании фабрики состояния и состояния объекта.NamingException
- Если одна из фабрик, к которым получают доступ, выдает исключение, или если с ошибкой встретились, загружаясь и инстанцируя фабрики и классов объектов. Фабрика должна только выдать исключение, если она не хочет, чтобы другие фабрики использовались в попытке создать объект. См. StateFactory.getStateToBind().StateFactory
, StateFactory.getStateToBind(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable<?, ?>)
, DirectoryManager.getStateToBind(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable<?, ?>, javax.naming.directory.Attributes)
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.