Spec-Zone.ru › OpenJDK 25

Пакет java.beans

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

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

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

Долговременное сохранение

Начиная с версии 1.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.
  • Долговременное сохранение — статья в The Swing Connection.
Версия:
1.1
Пакет Описание
java.beans.beancontext
Предоставляет классы и интерфейсы, связанные с контекстом бина.
Класс Описание
AppletInitializer Устарел и будет удален: этот элемент API подлежит удалению в будущей версии.
API апплетов устарел.
BeanDescriptor
BeanDescriptor предоставляет общую информацию о «бине», включая его класс Java, отображаемое имя и т. д.
BeanInfo
Используйте интерфейс BeanInfo для создания класса BeanInfo и предоставления явной информации о методах, свойствах, событиях и других особенностях ваших бинов.
BeanProperty
Аннотация для указания некоторой информации о свойствах классов BeanInfo, создаваемых автоматически.
Beans
Этот класс предоставляет несколько методов общего назначения для управления бинами.
ConstructorProperties
Аннотация конструктора, указывающая, каким методам получения значений свойств созданного объекта соответствуют параметры этого конструктора.
Customizer
Класс средства настройки предоставляет полноценный пользовательский графический интерфейс для настройки целевого JavaBean.
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.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/beans/package-summary.html

Spec-Zone.ru

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