|
Spec-Zone .ru
спецификации, руководства, описания, API
|
Долгосрочная персистентность является моделью, которая позволяет бобам быть форматом XML, в котором сохраняют.
Информация о формате XML и о том, как реализовать долгосрочную персистентность для небобов, может быть найдена в XML-схеме и .
class присваивается записать выходные файлы для текстового представления Serializable объекты. Следующий фрагмент кода является примером записи боба Java и его свойств в формате XML:
XMLEncoder encoder = new XMLEncoder(
new BufferedOutputStream(
new FileOutputStream("Beanarchive.xml")));
encoder.writeObject(object);
encoder.close();
class читает XML-документ, который создавался с XMLEncoder:
XMLDecoder decoder = new XMLDecoder(
new BufferedInputStream(
new FileInputStream("Beanarchive.xml")));
Object object = decoder.readObject();
decoder.close();
У бобового архива XML есть свой собственный определенный синтаксис, который включает следующие теги, чтобы представить каждый бобовый элемент:
<java> тег, чтобы воплотить все объектные элементы боба<object> тег, чтобы представить ряд вызовов метода должен был восстановить объект от своей сериализированной формы
<object class="javax.swing.JButton" method="new">
<string>Ok</string>
</object>
<object class="javax.swing.JButton">
<void method="setText">
<string>Cancel</string>
</void>
</object>
<boolean><byte><char><short><int><long><float><double><int>5555</int>
class> тег, чтобы представить экземпляр Класса. <class>java.swing.JFrame</class>
array> тег, чтобы определить массив <array class="java.lang.String" length="5"> </array>
Следующий код представляет архив XML, который будет сгенерирован для SimpleBean компонент:
<?xml version="1.0" encoding="UTF-8" ?>
<java>
<object class="javax.swing.JFrame">
<void method="add">
<object class="java.awt.BorderLayout" field="CENTER"/>
<object class="SimpleBean"/>
</void>
<void property="defaultCloseOperation">
<object class="javax.swing.WindowConstants" field="DISPOSE_ON_CLOSE"/>
</void>
<void method="pack"/>
<void property="visible">
<boolean>true</boolean>
</void>
</object>
</java>