Spec-Zone.ru › OpenJDK 24

Пакет java.beans

package java.beans
Содержит классы, связанные с разработкой компонентов — компонентов на основе архитектуры JavaBeans. Некоторые классы используются компонентами во время их работы в приложении. Например, классы событий используются компонентами, которые генерируют события изменения свойств и вето-события (см. PropertyChangeEvent). Однако большинство классов в этом пакете предназначены для использования редактором компонентов (то есть средой разработки для настройки и объединения компонентов для создания приложения). В частности, эти классы помогают редактору компонентов создавать пользовательский интерфейс, который пользователь может использовать для настройки компонента. Например, компонент может содержать свойство специального типа, с которым редактор компонентов может не знать, как работать. Используя интерфейс PropertyEditor, разработчик компонентов может предоставить редактор для этого специального типа.

Чтобы свести к минимуму ресурсы, используемые компонентом, классы, используемые редакторами компонентов, загружаются только при редактировании компонента. Они не нужны, когда компонент работает в приложении, и поэтому не загружаются. Эта информация хранится в так называемом bean-info (см. BeanInfo).

Если не указано иное, значения null или пустые строки не являются допустимыми параметрами для методов в этом пакете. Вы можете ожидать появления исключений, если эти параметры используются.

Постоянное хранение данных

Как в версии 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.
Since:
1.1
Пакет Описание
java.beans.beancontext
Предоставляет классы и интерфейсы, относящиеся к контексту бина.
Класс Описание
AppletInitializer Устаревший, подлежит удалению: Этот элемент API может быть удален в будущей версии.
API для аплетов устарел.
BeanDescriptor
BeanDescriptor предоставляет общую информацию о "бине", включая его класс Java, его имя отображения и т. д.
BeanInfo
Используйте интерфейс BeanInfo, чтобы создать класс BeanInfo и предоставить явную информацию о методах, свойствах, событиях и других функциях ваших бинов.
BeanProperty
Аннотация, используемая для указания некоторой информации, связанной со свойством, для автоматически генерируемых классов BeanInfo.
Beans
Этот класс предоставляет некоторые методы управления бинами общего назначения.
ConstructorProperties
Аннотация на конструкторе, показывающая, как параметры этого конструктора соответствуют методам-геттерам объекта, созданного конструктором.
Customizer
Класс-кастомайзер предоставляет полную настраиваемую графическую среду для настройки целевого Java-бина.
DefaultPersistenceDelegate
DefaultPersistenceDelegate — это конкретная реализация абстрактного класса PersistenceDelegate и является делегатом по умолчанию для классов, о которых нет доступной информации.
DesignMode
Этот интерфейс предназначен для реализации или делегирования экземплярами java.beans.beancontext.BeanContext, для распространения свойства «designTime» по его вложенной иерархии экземпляров java.beans.beancontext.BeanContextChild.
Encoder
Encoder — это класс, который может быть использован для создания файлов или потоков, кодирующих состояние коллекции JavaBeans в терминах их публичных API.
EventHandler
Класс EventHandler предоставляет поддержку динамического генерирования обработчиков событий, методы которых выполняют простое утверждение, включающее объект входящего события и целевой объект.
EventSetDescriptor
EventSetDescriptor описывает группу событий, которые генерирует данный Java-бин.
ExceptionListener
ExceptionListener уведомляется об внутренних исключениях.
Expression
Объект Expression представляет собой примитивное выражение, в котором к целевому объекту и набору аргументов применяется один метод для возврата результата — как в "a.getFoo()".
FeatureDescriptor
Класс FeatureDescriptor является общим базовым классом для PropertyDescriptor, EventSetDescriptor, MethodDescriptor и т. д.
IndexedPropertyChangeEvent
Событие «IndexedPropertyChange» доставляется всякий раз, когда компонент, соответствующий спецификации JavaBeans («бин»), изменяет связанное индексированное свойство.
IndexedPropertyDescriptor
IndexedPropertyDescriptor описывает свойство, которое ведет себя как массив и имеет индексированный метод чтения и/или записи для доступа к определенным элементам массива.
IntrospectionException
Выбрасывается, когда во время интроспекции происходит исключение.
Introspector
Класс Introspector предоставляет стандартный способ для инструментов узнать о свойствах, событиях и методах, поддерживаемых целевым Java-бином.
JavaBean
Аннотация, используемая для указания некоторой информации, связанной с классом, для автоматически генерируемых классов BeanInfo.
MethodDescriptor
MethodDescriptor описывает конкретный метод, который поддерживается Java-бином для внешнего доступа из других компонентов.
ParameterDescriptor
Класс ParameterDescriptor позволяет разработчикам бинов предоставлять дополнительную информацию о каждом из их параметров, помимо информации о типе низкого уровня, предоставляемой классом java.lang.reflect.Method.
PersistenceDelegate
Класс PersistenceDelegate отвечает за выражение состояния экземпляра данного класса в терминах методов публичного API класса.
PropertyChangeEvent
Событие «PropertyChange» доставляется всякий раз, когда бин изменяет «связанное» или «ограниченное» свойство.
PropertyChangeListener
Событие «PropertyChange» генерируется всякий раз, когда бин изменяет «связанное» свойство.
PropertyChangeListenerProxy
Класс, расширяющий EventListenerProxy специально для добавления PropertyChangeListener с «связанным» свойством.
PropertyChangeSupport
Это вспомогательный класс, который может использоваться бинами, поддерживающими связанные свойства.
PropertyDescriptor
PropertyDescriptor описывает одно свойство, которое Java-бин экспортирует через пару методов доступа.
PropertyEditor
Класс PropertyEditor предоставляет поддержку для графических интерфейсов, которые хотят позволять пользователям редактировать значение свойства заданного типа.
PropertyEditorManager
PropertyEditorManager может использоваться для поиска редактора свойств для любого заданного имени типа.
PropertyEditorSupport
Это вспомогательный класс, помогающий создавать редакторы свойств.
PropertyVetoException
PropertyVetoException выбрасывается, когда предполагаемое изменение свойства представляет неприемлемое значение.
SimpleBeanInfo
Это вспомогательный класс, чтобы облегчить создание классов BeanInfo.
Statement
Объект Statement представляет примитивное утверждение, в котором к целевому объекту и набору аргументов применяется один метод — как в "a.setFoo(b)".
Transient
Указывает, что атрибут, называемый «transient», должен быть объявлен с заданным value, когда Introspector создает классы PropertyDescriptor или EventSetDescriptor, связанные с аннотированным элементом кода.
VetoableChangeListener
Событие VetoableChange генерируется всякий раз, когда бин изменяет «ограниченное» свойство.
VetoableChangeListenerProxy
Класс, расширяющий EventListenerProxy специально для добавления VetoableChangeListener с «ограниченным» свойством.
VetoableChangeSupport
Это вспомогательный класс, который можно использовать бинами, поддерживающими ограниченные свойства.
Visibility
В некоторых ситуациях бин может быть запущен на серверах, где нет графического интерфейса.
XMLDecoder
Класс XMLDecoder используется для чтения XML-документов, созданных с помощью XMLEncoder, и используется так же, как и ObjectInputStream.
XMLEncoder
Класс XMLEncoder — это дополнительная альтернатива ObjectOutputStream и может использоваться для генерации текстового представления JavaBean таким же образом, как ObjectOutputStream может использоваться для создания двоичного представления объектов Serializable.

© 1993, 2025, 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/beans/package-summary.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API