- •JAVA-ТЕХНОЛОГИЯ
- •Java Beans - шаблоны проектирования свойств
- •Свойства Java Beans: сравнение с .NET
- •Java Beans:
- •Связываемые свойства (bound properties)
- •PropertyChangeEvent – передача информации о событии
- •Свойства с ограничениями (constrained properties)
- •VetoableChange – изменение свойства с ограничениями
- •Пример: Связываемое свойство с ограничениями (1 / 4 )
- •Пример: связываемое свойство с ограничениями (2 / 4)
- •Пример: связываемое свойство с ограничениями ( 3 / 4 )
- •Пример: связываемое свойство с ограничениями ( 4 / 4 )
- •Java Beans: спецификация, настройка, редактирование свойств и анализ
Пример: связываемое свойство с ограничениями ( 3 / 4 )
public void addPropertyChangeListener (PropertyChangeListeger x)
{ // регистрация нового слушателя изменений changes.addPropertyChangeListener(x);
}
public void removePropertyChangeListener (PropertyChangeListener x)
{// отмена регистрации слушателя изменений changes.removePropertyChangeListener(x);
}
public void addVetoableChangeListener (VetoableChangeListeger x)
{ // регистрация нового контролера изменений vetos.addVetoableChangeListener (x);
}
(C) В.О. Сафонов. 2013
Пример: связываемое свойство с ограничениями ( 4 / 4 )
public void removeVetoableChangeListener (VetoableChangeListener x)
{// отмена регистрации слушателя изменений vetos.removeVetoableChangeListener(x);
}
} // BudgetBean
public class BudgetListener implements PropertyChangeListener { public void propertyChange(PropertyChangeEvent e) { … }
} // BudgetListener
public class BudgetBoss implements VetoableChangeListener { public static final int MAXBUDGET = 10000;
public void vetoableChange (PropertyChangeEvent e) throws |
|
PropertyVetoException { |
|
if (((Integer) e.getNewValue()).intValue() > MAXBUDGET) |
|
throw new PropertyVetoException(“budget too big!”, e); |
|
}} // BudgetBoss |
(C) В.О. Сафонов. 2013 |
|
|
Java Beans: спецификация, настройка, редактирование свойств и анализ
Явная спецификация Java bean – в виде класса, реализующего интерфейс java.beans.BeanInfo
Customizer – класс для настройки Java bean (с помощью GUI). Должен реализовывать интерфейс java.beans.Customizer
Редактор свойств (property editor) – класс, обеспечивающий редактирование и визуализацию любого свойства Java bean; реализует интерфейс java.beans.PropertyEditor
Два режима поведения Java bean: режим проектирования (design time) и режим исполнения (runtime). Управляются с помощью свойства DesignTime, определенного в интерфейсе DesignMode, который реализуется в классах-контейнерах для разработки Java Beans – производных от java.beans.beancontext.BeanContext
Интроспекция (introspection) – анализ Java Beans, выполняемый инструментом построения Java-приложений, как правило, с помощью класса java.beans.Introspector.
Реализация интроспекции основана на reflection API.
Более подробно см. http://java.sun.com/beans/docs/index.html
JavaBeans Activation Framework – JAF (2006)
(C)В.О. Сафонов. 2013
Q&A
Вопросы?
(C) В.О. Сафонов. 2013
