Spec-Zone .ru
спецификации, руководства, описания, API
|
Долгосрочная персистентность является моделью, которая позволяет бобам быть форматом XML, в котором сохраняют.
Информация о формате XML и о том, как реализовать долгосрочную персистентность для небобов, может быть найдена в XML-схеме и
XMLEncoder
Serializable
объекты. Следующий фрагмент кода является примером записи боба Java и его свойств в формате XML:
XMLEncoder encoder = new XMLEncoder( new BufferedOutputStream( new FileOutputStream("Beanarchive.xml"))); encoder.writeObject(object); encoder.close();
XMLDecoder
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>