Spec-Zone.ru › OpenJDK 21

Пакет 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.
Пакет Описание
java.beans.beancontext
Предоставляет классы и интерфейсы, относящиеся к контексту бина.
Класс Описание
AppletInitializer Устаревший, подлежит удалению: Этот элемент API может быть удален в будущей версии.
API Applet устарел.
BeanDescriptor
BeanDescriptor предоставляет общую информацию о "бине", включая его Java-класс, его имя и т.д.
BeanInfo
Используйте интерфейс BeanInfo для создания класса BeanInfo и предоставления явной информации о методах, свойствах, событиях и других функциях ваших бинов.
BeanProperty
Аннотация, используемая для указания некоторых данных, связанных со свойствами, для автоматически сгенерированных классов BeanInfo.
Beans
Этот класс предоставляет некоторые методы общего назначения для управления бинами.
ConstructorProperties
Аннотация на конструкторе, показывающая, как параметры этого конструктора соответствуют методам-геттерам объекта, созданного этим конструктором.
Customizer
Класс 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, 2023, 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/21/docs/api/java.desktop/java/beans/package-summary.html

Spec-Zone.ru

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