Класс Beans
- java.lang.Object
-
- java.beans.Beans
public class Beans extends Object
Этот класс предоставляет методы управления биннами общего назначения.
Конструкторы
| Конструктор и описание |
|---|
Beans() |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
static Object |
getInstanceOf(Object bean,
Class<?> targetType) Получить объект, представляющий указанный вид типа для данного бин-объекта. |
static Object |
instantiate(ClassLoader cls,
String beanName) Инициализировать JavaBean. |
static Object |
instantiate(ClassLoader cls,
String beanName,
BeanContext beanContext) Инициализировать JavaBean. |
static Object |
instantiate(ClassLoader cls,
String beanName,
BeanContext beanContext,
AppletInitializer initializer) Инициализировать бин. |
static boolean |
isDesignTime() Проверить, находимся ли в режиме проектирования. |
static boolean |
isGuiAvailable() Определяет, могут ли бин-объекты предположить наличие графического интерфейса. |
static boolean |
isInstanceOf(Object bean,
Class<?> targetType) Проверить, может ли бин быть представлен как объект заданного целевого типа. |
static void |
setDesignTime(boolean isDesignTime) Используется для указания того, работаем ли мы в среде конструктора приложений. |
static void |
setGuiAvailable(boolean isGuiAvailable) Используется для указания того, работаем ли мы в среде, где доступна работа с графическим интерфейсом. |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Конструкторы
Beans
public Beans()
Методы
instantiate
public static Object instantiate(ClassLoader cls,
String beanName)
throws IOException,
ClassNotFoundException Инициализировать JavaBean.
- Параметры:
-
cls- загрузчик классов, из которого мы должны создать бин. Если он равен null, используется системный загрузчик классов. -
beanName- имябина в загрузчике классов. Например, "sun.beanbox.foobah" - Возвращает:
- JavaBean
- Исключения:
-
ClassNotFoundException- если класс сериализованного объекта не найден. -
IOException- если произошла ошибка ввода-вывода.
instantiate
public static Object instantiate(ClassLoader cls,
String beanName,
BeanContext beanContext)
throws IOException,
ClassNotFoundException Инициализировать JavaBean.
- Параметры:
-
cls- загрузчик классов, из которого мы должны создать бин. Если он равен null, используется системный загрузчик классов. -
beanName- имябина в загрузчике классов. Например, "sun.beanbox.foobah" -
beanContext- BeanContext, в котором вложить новый бин - Возвращает:
- JavaBean
- Исключения:
-
ClassNotFoundException- если класс сериализованного объекта не найден. -
IOException- если произошла ошибка ввода-вывода.
instantiate
public static Object instantiate(ClassLoader cls,
String beanName,
BeanContext beanContext,
AppletInitializer initializer)
throws IOException,
ClassNotFoundException Инициализировать бин.
Бин создается на основе имени, относительного к загрузчику классов. Это имя должно быть именем, разделенным точками, например, "a.b.c".
В Beans 1.0 данное имя может указывать либо сериализованный объект, либо класс. В будущем могут быть добавлены другие механизмы. В Beans 1.0 мы сначала пытаемся обработать beanName как имя сериализованного объекта, а затем как имя класса.
При использовании beanName как имени сериализованного объекта мы преобразуем данное beanName в путь к ресурсу и добавляем суффикс ".ser". Затем мы пытаемся загрузить сериализованный объект из этого ресурса.
Например, если beanName имеет значение "x.y", Beans.instantiate сначала попытается прочитать сериализованный объект из ресурса "x/y.ser", а если это не удастся, то попытается загрузить класс "x.y" и создать экземпляр этого класса.
Если бин является подтипом java.applet.Applet, ему предоставляется специальная инициализация. Во-первых, ему предоставляются значения по умолчанию для AppletStub и AppletContext. Во-вторых, если он был создан из имени класса, вызывается метод "init" апплета. (Если бин был десериализован, этот шаг пропускается.)
Обратите внимание, что для бинов, являющихся апплетами, вызывающий должен вызвать "start" на апплете. Для корректной работы это должно быть сделано после добавления апплета в видимый контейнер AWT.
Обратите внимание, что апплеты, созданные с помощью beans.instantiate, работают в немного другой среде, чем апплеты, работающие внутри браузеров. В частности, апплеты бинов не имеют доступа к "параметрам", поэтому они могут захотеть предоставить методы get/set свойств для установки значений параметров. Мы рекомендуем разработчикам апплетов бинов тестировать свои апплеты бинов как в JDK appletviewer (для имитации среды браузера), так и в BDK BeanBox (для имитации среды контейнера бинов).
- Параметры:
-
cls- загрузчик классов, из которого мы должны создать бин. Если он равен null, используется системный загрузчик классов. -
beanName- имябина в загрузчике классов. Например, "sun.beanbox.foobah" -
beanContext- BeanContext, в котором вложить новый бин -
initializer- AppletInitializer для нового бина - Возвращает:
- JavaBean
- Исключения:
-
ClassNotFoundException- если класс сериализованного объекта не найден. -
IOException- если произошла ошибка ввода-вывода.
getInstanceOf
public static Object getInstanceOf(Object bean,
Class<?> targetType) Получить объект, представляющий указанный вид типа для данного бин-объекта.
Результат может быть тем же объектом или другим объектом. Если запрошенный вид целевого типа недоступен, возвращается данный бин.
Этот метод предоставляется в Beans 1.0 как средство для добавления более гибкого поведения бинов в будущем.
- Параметры:
-
bean- Объект, для которого требуется получить представление. -
targetType- Тип представления, который нужно получить. - Возвращает:
- объект, представляющий указанный вид типа для исходного объекта
isInstanceOf
public static boolean isInstanceOf(Object bean,
Class<?> targetType) Проверить, может ли бин быть представлен как объект заданного целевого типа. Результатом будет true, если метод Beans.getInstanceof может быть использован для данного бина для получения объекта, представляющего указанный вид целевого типа.
- Параметры:
-
bean- Бин, для которого требуется получить представление. -
targetType- Тип представления, который нужно получить. - Возвращает:
- true, если данный бин поддерживает данный целевой тип.
isDesignTime
public static boolean isDesignTime()
Проверить, находимся ли в режиме проектирования.
- Возвращает:
- True, если мы работаем в среде построения приложения.
- См. также:
DesignMode
isGuiAvailable
public static boolean isGuiAvailable()
Определяет, могут ли бин-объекты предположить наличие графического интерфейса.
- Возвращает:
- True, если мы работаем в среде, где бин-объекты могут предположить наличие интерактивного графического интерфейса, поэтому они могут отображать диалоговые окна и т. п. Обычно возвращает true в среде с окнами и обычно false в серверной среде или если приложение выполняется как часть задания пакетной обработки.
- См. также:
Visibility
setDesignTime
public static void setDesignTime(boolean isDesignTime)
throws SecurityException Указывает, находимся ли мы в среде конструктора приложений.
Обратите внимание, что этот метод проверяется на безопасность и недоступен (например), для недоверенных апплетов. Более точно, если есть менеджер безопасности, вызывается его метод checkPropertiesAccess. Это может привести к SecurityException.
- Параметры:
-
isDesignTime- True, если мы работаем в инструменте создания приложений. - Исключения:
-
SecurityException- если менеджер безопасности существует и его методcheckPropertiesAccessне разрешает установку системных свойств. - См. также:
SecurityManager.checkPropertiesAccess()
setGuiAvailable
public static void setGuiAvailable(boolean isGuiAvailable)
throws SecurityException Указывает, находимся ли мы в среде, где доступна работа с графическим интерфейсом.
Обратите внимание, что этот метод проверяется на безопасность и недоступен (например), для недоверенных апплетов. Более точно, если есть менеджер безопасности, вызывается его метод checkPropertiesAccess. Это может привести к SecurityException.
- Параметры:
-
isGuiAvailable- True, если доступна работа с графическим интерфейсом. - Исключения:
-
SecurityException- если менеджер безопасности существует и его методcheckPropertiesAccessне разрешает установку системных свойств. - См. также:
SecurityManager.checkPropertiesAccess()
© 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.