|
Spec-Zone .ru
спецификации, руководства, описания, API
|
@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());Определение аннотации выполняет две цели:
DefaultPersistenceDelegate класс.NullPointerException ошибка с EventHandler классИсключение NPR было выдано EventHandler класс. create метод EventHandler класс проверяет null значение, и javadoc исправляются соответственно.
Документация относительно EventHandler класс eventPropertyName параметр ясно не объяснял waht, который поддерживает параметр. Информация, о какой eventProperName свойство способно к, включается в документацию для метод.
EventHandler класс не должен кэшироваться Method объектПоиск метода улучшается, и методу препятствуют кэшироваться в EventHandler поле класса.
EventHandler класс действительно поддерживал тот же самый синтаксис как свойство событияЦелевой синтаксис свойства фиксируется и теперь поддерживает произвольное число методов или свойств. Это было выполнено, разделяя каждое свойство или метод с ".".
XMLEncoder классСледующие исправления выполнялись, чтобы улучшить долгосрочный процесс персистентности.
java.beans.XMLEncoder класс не кодирует java.net.URI объекты Statement класс не мог получить доступ к элементу java.net.URI класс с частными модификаторами. В JDK 6.0 соответствующее PersistenceDelegate обеспечивается, чтобы решить эту проблему.
XMLEncoder класс не кодирует null записи в HashMap объектыНуль Key запись HashMap объект не был включен в вывод XML. Фиксация включает нуль Key запись в XML-файл.
XMLEncoder класс испускает недопустимый XML XMLEncoder класс производит вывод XML только для допустимых символов XML. Новое code атрибут был представлен для символьного элемента. code содержит шестнадцатеричное значение, если оно запускается с "#". Иначе это содержит десятичное значение.
XMLEncoder класс не кодирует перечисления правильно XMLEncoder класс не сериализировал перечисление правильно. EnumPersistenceDelegate класс, новый делегат персистентности, был представлен, чтобы поддерживать сериализацию классов Enum.
XMLEncoder класс игнорирует делегатов персистентности когда использующийся с Java веб-ЗапускA DefaultPersistenceDelegate класс для некоторых классов создавался ненадлежащим образом. В результате взлом, который добавляет доступ к полю для свойств и повреждающейся спецификации JavaBeans, был обнаружен. Выполняемая фиксация удаляет взлом, который был предназначен для следующих классов: java.awt.Dimension, java.awt.Point, и java.awt.Rectangle.
XMLDecoder класс не игнорирует операторы, сделанные владельцу если read() метод вызываютПервоначально класс XMLDecoder создавался с ленивой инициализацией. Фиксация позволяет анализировать в close() метод, если файл не анализируется readObject() метод.
XMLDecoder класс перестал работать при использовании турецкой Локали XMLDecoder класс не функционировал правильно, читая английский XML-файл на машине с набором локали на турецкий язык. Исправлять эту ошибку toLowerCase и toUpperCase методы вызываются в английской локали.
Component объект отсутствует во время сериализации xmlContainer объекты не были сериализированы. Фиксация добавляет специальное поведение к делегату персистентности к контейнерам с BorderLayout.