Spec-Zone .ru
спецификации, руководства, описания, API
Содержание документации

Улучшения к Компонентному API JavaBeansTM в Java SE 6.0

java.beans

Основные функции
Исправленные Ошибки

Основные функции

@ConstructorProperties аннотация

@ConstructorProperties аннотация была представлена в Java SE 6.0, чтобы показать, как параметры аннотируемого конструктора соответствуют свойствам объекта. Ранее, конструктор DefaultPersistenceDelegate(String[] constructorPropertyNames) использовался для той же самой цели, но не был соответствующий подход для классов библиотеки.

Технически, аннотация используется для того, чтобы скопировать бобы со свойствами только для чтения. В следующем примере кода Food свойства только для чтения.

public class Food {
     private final int varieties;
     private final String country;
     
     @ConstructorProperties({"varieties", "country"})
     public Point(int varieties, String country) {
         this.varieties = varieties;
         this.country = country;
     }
     public int getVarieties() {
         return this.varieties;
     }
     public String getCountry() {
         return this.country;
     }
}

Создать a vegetable объект с теми же самыми свойствами, что fruit объект имеет, используйте следующий код:

Food fruit = new Food (5, "Argentina");
Food vegetable = new Food (fruit.getVarieties(), fruit.getCountry());
Определение аннотации выполняет две цели:

Исправленные Ошибки

Класс EventHandler

6179222: Возможный a NullPointerException ошибка с EventHandler класс

Исключение NPR было выдано EventHandler класс. create метод EventHandler класс проверяет null значение, и javadoc исправляются соответственно.

6204552: Документация EventHandler и проблемы обработки исключений

Документация относительно EventHandler класс eventPropertyName параметр ясно не объяснял waht, который поддерживает параметр. Информация, о какой eventProperName свойство способно к, включается в документацию для create метод.

6210265: EventHandler класс не должен кэшироваться Method объект

Поиск метода улучшается, и методу препятствуют кэшироваться в EventHandler поле класса.

6271692: Целевое свойство EventHandler класс действительно поддерживал тот же самый синтаксис как свойство события

Целевой синтаксис свойства фиксируется и теперь поддерживает произвольное число методов или свойств. Это было выполнено, разделяя каждое свойство или метод с ".".

 

XMLEncoder класс

Следующие исправления выполнялись, чтобы улучшить долгосрочный процесс персистентности.

6245149: java.beans.XMLEncoder класс не кодирует java.net.URI объекты

Statement класс не мог получить доступ к элементу java.net.URI класс с частными модификаторами. В JDK 6.0 соответствующее PersistenceDelegate обеспечивается, чтобы решить эту проблему.

4921212: XMLEncoder класс не кодирует null записи в HashMap объекты

Нуль Key запись HashMap объект не был включен в вывод XML. Фиксация включает нуль Key запись в XML-файл.

6256805: XMLEncoder класс испускает недопустимый XML

XMLEncoder класс производит вывод XML только для допустимых символов XML. Новое code атрибут был представлен для символьного элемента. code содержит шестнадцатеричное значение, если оно запускается с "#". Иначе это содержит десятичное значение.

5015403: XMLEncoder класс не кодирует перечисления правильно

XMLEncoder класс не сериализировал перечисление правильно. EnumPersistenceDelegate класс, новый делегат персистентности, был представлен, чтобы поддерживать сериализацию классов Enum.

4741757: XMLEncoder класс игнорирует делегатов персистентности когда использующийся с Java веб-Запуск

A DefaultPersistenceDelegate класс для некоторых классов создавался ненадлежащим образом. В результате взлом, который добавляет доступ к полю для свойств и повреждающейся спецификации JavaBeans, был обнаружен. Выполняемая фиксация удаляет взлом, который был предназначен для следующих классов: java.awt.Dimension, java.awt.Point, и java.awt.Rectangle.

6338070: XMLDecoder класс не игнорирует операторы, сделанные владельцу если read() метод вызывают

Первоначально класс XMLDecoder создавался с ленивой инициализацией. Фиксация позволяет анализировать в close() метод, если файл не анализируется readObject() метод.

6341798: XMLDecoder класс перестал работать при использовании турецкой Локали

XMLDecoder класс не функционировал правильно, читая английский XML-файл на машине с набором локали на турецкий язык. Исправлять эту ошибку toLowerCase и toUpperCase методы вызываются в английской локали.

6437265: Некоторые Component объект отсутствует во время сериализации xml

Container объекты не были сериализированы. Фиксация добавляет специальное поведение к делегату персистентности к контейнерам с BorderLayout.

 

 

 

 

 


Oracle и/или его филиалы Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.
Свяжитесь с Нами