Пакет java.beans
Содержит классы, связанные с разработкой компонентов — компонентов на основе архитектуры JavaBeans™.
См.: Описание
| Интерфейс | Описание |
|---|---|
| AppletInitializer | Этот интерфейс предназначен для совместной работы с java.beans.Beans.instantiate. |
| BeanInfo | Используйте интерфейс |
| Customizer | Класс customizer предоставляет полностью настраиваемый пользовательский интерфейс для настройки целевого компонента Java Bean. |
| DesignMode | Этот интерфейс предназначен для реализации или делегирования экземплярами java.beans.beancontext.BeanContext, чтобы распространять текущее свойство «designTime» по своей вложенной иерархии экземпляров java.beans.beancontext.BeanContextChild. |
| ExceptionListener | ExceptionListener уведомляется об внутренних исключениях. |
| PropertyChangeListener | Событие «PropertyChange» генерируется всякий раз, когда компонент изменяет связанное свойство. |
| PropertyEditor | Класс PropertyEditor предоставляет поддержку для пользовательских интерфейсов, которые должны позволять пользователям редактировать значение свойства заданного типа. |
| VetoableChangeListener | Событие VetoableChange генерируется всякий раз, когда компонент изменяет ограниченное свойство. |
| Visibility | В некоторых случаях компонент может выполняться на серверах, где графический интерфейс пользователя недоступен. |
| Класс | Описание |
|---|---|
| BeanDescriptor | BeanDescriptor предоставляет общую информацию о «компоненте», включая его класс Java, его имя и т. д. |
| Beans | Этот класс предоставляет некоторые методы общего назначения для управления компонентами. |
| DefaultPersistenceDelegate |
|
| Encoder |
|
| EventHandler | Класс |
| EventSetDescriptor | EventSetDescriptor описывает группу событий, которые генерирует данный компонент Java Bean. |
| Expression | Объект |
| FeatureDescriptor | Класс FeatureDescriptor является общим базовым классом для PropertyDescriptor, EventSetDescriptor и MethodDescriptor и т. д. |
| IndexedPropertyChangeEvent | Событие «IndexedPropertyChange» доставляется всякий раз, когда компонент, соответствующий спецификации JavaBeans™ («компонент»), изменяет связанное индексированное свойство. |
| IndexedPropertyDescriptor | IndexedPropertyDescriptor описывает свойство, которое ведет себя как массив и имеет индексированный метод чтения и/или записи для доступа к определенным элементам массива. |
| Introspector | Класс Introspector предоставляет стандартный способ для инструментов узнать о свойствах, событиях и методах, поддерживаемых целевым компонентом Java Bean. |
| MethodDescriptor | MethodDescriptor описывает конкретный метод, который поддерживает Java Bean для внешнего доступа другими компонентами. |
| ParameterDescriptor | Класс ParameterDescriptor позволяет реализаторам компонентов предоставлять дополнительную информацию о каждом из их параметров, помимо информации о типе низкого уровня, предоставляемой классом java.lang.reflect.Method. |
| PersistenceDelegate | Класс PersistenceDelegate несет ответственность за выражение состояния экземпляра данного класса в терминах методов публичного API класса. |
| PropertyChangeEvent | Событие «PropertyChange» доставляется всякий раз, когда компонент изменяет связанное или ограниченное свойство. |
| PropertyChangeListenerProxy | Класс, расширяющий |
| PropertyChangeSupport | Это вспомогательный класс, который может использоваться компонентами, поддерживающими связанные свойства. |
| PropertyDescriptor | PropertyDescriptor описывает одно свойство, которое экспортирует компонент Java Bean через пару методов доступа. |
| PropertyEditorManager | PropertyEditorManager можно использовать для поиска редактора свойств для любого заданного имени типа. |
| PropertyEditorSupport | Это вспомогательный класс для создания редакторов свойств. |
| SimpleBeanInfo | Это вспомогательный класс, чтобы упростить создание классов BeanInfo. |
| Statement | Объект |
| VetoableChangeListenerProxy | Класс, расширяющий |
| VetoableChangeSupport | Это вспомогательный класс, который можно использовать для компонентов, поддерживающих ограниченные свойства. |
| XMLDecoder | Класс |
| XMLEncoder | Класс |
| Исключение | Описание |
|---|---|
| IntrospectionException | Выбрасывается, когда во время интроспекции происходит исключение. |
| PropertyVetoException | PropertyVetoException выбрасывается, когда предполагаемое изменение свойства представляет недопустимое значение. |
| Тип аннотации | Описание |
|---|---|
| ConstructorProperties | Аннотация на конструкторе, показывающая, как параметры этого конструктора соответствуют методам-геттерам созданного объекта. |
| Transient | Указывает, что атрибут, называемый «transient», должен быть объявлен с заданным |
Описание пакета java.beans
Содержит классы, связанные с разработкой бин — компонентов, основанных на архитектуре JavaBeans™. Некоторые из классов используются бин во время их работы в приложении. Например, классы событий используются бин, которые генерируют события изменения свойств и отмены изменений (см. PropertyChangeEvent). Однако большинство классов в этом пакете предназначено для использования редактором бин (то есть, средой разработки для настройки и объединения бинов для создания приложения). В частности, эти классы помогают редактору бин создавать пользовательский интерфейс, который пользователь может использовать для настройки бин. Например, бин может содержать свойство специального типа, с которым редактор бин может не знать как работать. Используя интерфейс PropertyEditor, разработчик бин может предоставить редактор для этого специального типа.
Для минимизации ресурсов, используемых бином, классы, используемые редакторами бинов, загружаются только при редактировании бин. Они не нужны во время работы бин в приложении и поэтому не загружаются. Эта информация хранится в так называемом bean-info (см. BeanInfo).
Если не указано иное, нулевые значения или пустые строки не являются допустимыми параметрами для методов в этом пакете. Вы можете ожидать появления исключений, если эти параметры будут использоваться.
Длительное хранение
По состоянию на v1.4, пакетjava.beans предоставляет поддержку длительного хранения — чтения и записи бин как текстового представления значений его свойств. Значения свойств обрабатываются как бин, и они рекурсивно читаются или записываются для захвата их публично доступного состояния. Этот подход подходит для длительного хранения, поскольку он опирается только на публичный API, а не на, вероятно, изменяемую частную реализацию. Примечание: Схема сохранения не может автоматически создавать экземпляры пользовательских вложенных классов, таких как обработчики событий. Используя класс EventHandler вместо вложенных классов для пользовательских обработчиков событий, можно избежать этой проблемы. Вы читаете и записываете бин в формате XML, используя классы XMLDecoder и XMLEncoder соответственно. Одна из заметных особенностей схемы сохранения заключается в том, что чтение бин не требует специальных знаний о бин.
Запись бин, с другой стороны, иногда требует специальных знаний о типе бин. Если состояние бин можно выразить только с помощью конструктора без аргументов и публичных методов получения и установки свойств, специальные знания не требуются. В противном случае, бин требует пользовательского делегата сохранения — объекта, который отвечает за запись бинов определенного типа. Все классы, предоставленные в JDK, которые унаследованы от java.awt.Component, а также все их свойства, автоматически имеют делегаты сохранения.
Если вам нужно (или вы выбираете) предоставить делегата сохранения для бин, вы можете сделать это, используя экземпляр DefaultPersistenceDelegate или создав свой собственный подкласс PersistenceDelegate. Если единственная причина, по которой бин нуждается в делегате сохранения, заключается в том, что вы хотите вызвать конструктор бин со значениями свойств в качестве аргументов, вы можете создать делегата сохранения бин с помощью конструктора DefaultPersistenceDelegate с одним аргументом. В противном случае, вам необходимо реализовать свой собственный делегат сохранения, для чего вам, вероятно, понадобятся следующие классы:
-
PersistenceDelegate - Абстрактный класс, от которого происходят все делегаты сохранения. Ваш подкласс должен использовать свои знания о типе бин для предоставления необходимых
StatementиExpressionдля создания бин и восстановления его состояния. -
Statement - Представляет вызов единственного метода объекта. Включает набор аргументов для метода.
-
Expression - Подкласс
Statement, используемый для методов, возвращающих значение.
После создания делегата сохранения, зарегистрируйте его, используя метод setPersistenceDelegate класса XMLEncoder.
Связанная документация
Для получения общего обзора, архитектуры и учебной документации, пожалуйста, обратитесь к:- JavaBeans, учебный материал в Java Tutorial.
- Длительное хранение, статья в The Swing Connection.
© 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.