Spec-Zone.ru › OpenJDK 8

Пакет java.beans

Содержит классы, связанные с разработкой компонентов — компонентов на основе архитектуры JavaBeans™.

См.: Описание

Интерфейс Описание
AppletInitializer

Этот интерфейс предназначен для совместной работы с java.beans.Beans.instantiate.

BeanInfo

Используйте интерфейс BeanInfo для создания класса 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

DefaultPersistenceDelegate — это конкретная реализация абстрактного класса PersistenceDelegate и является делегатом по умолчанию для классов, о которых нет доступной информации.

Encoder

Encoder — это класс, который может использоваться для создания файлов или потоков, кодирующих состояние набора JavaBeans в терминах их публичных API.

EventHandler

Класс EventHandler предоставляет поддержку динамического создания обработчиков событий, методы которых выполняют простое утверждение, включающее объект входного события и целевой объект.

EventSetDescriptor

EventSetDescriptor описывает группу событий, которые генерирует данный компонент Java Bean.

Expression

Объект Expression представляет примитивное выражение, в котором к целевому объекту и набору аргументов применяется один метод для возврата результата — как в "a.getFoo()".

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

Класс, расширяющий EventListenerProxy, специально для добавления PropertyChangeListener с «связанным» свойством.

PropertyChangeSupport

Это вспомогательный класс, который может использоваться компонентами, поддерживающими связанные свойства.

PropertyDescriptor

PropertyDescriptor описывает одно свойство, которое экспортирует компонент Java Bean через пару методов доступа.

PropertyEditorManager

PropertyEditorManager можно использовать для поиска редактора свойств для любого заданного имени типа.

PropertyEditorSupport

Это вспомогательный класс для создания редакторов свойств.

SimpleBeanInfo

Это вспомогательный класс, чтобы упростить создание классов BeanInfo.

Statement

Объект Statement представляет примитивное утверждение, в котором к целевому объекту и набору аргументов применяется один метод — как в "a.setFoo(b)".

VetoableChangeListenerProxy

Класс, расширяющий EventListenerProxy, специально для добавления VetoableChangeListener с «ограниченным» свойством.

VetoableChangeSupport

Это вспомогательный класс, который можно использовать для компонентов, поддерживающих ограниченные свойства.

XMLDecoder

Класс XMLDecoder используется для чтения XML-документов, созданных с помощью XMLEncoder, и используется так же, как ObjectInputStream.

XMLEncoder

Класс XMLEncoder — это дополнительная альтернатива ObjectOutputStream и может использоваться для создания текстового представления JavaBean таким же образом, как ObjectOutputStream можно использовать для создания двоичного представления объектов Serializable.

Исключение Описание
IntrospectionException

Выбрасывается, когда во время интроспекции происходит исключение.

PropertyVetoException

PropertyVetoException выбрасывается, когда предполагаемое изменение свойства представляет недопустимое значение.

Тип аннотации Описание
ConstructorProperties

Аннотация на конструкторе, показывающая, как параметры этого конструктора соответствуют методам-геттерам созданного объекта.

Transient

Указывает, что атрибут, называемый «transient», должен быть объявлен с заданным value при построении Introspector классов PropertyDescriptor или EventSetDescriptor, связанных с аннотированным элементом кода.

Описание пакета 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.

Spec-Zone.ru

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