XMLEncoder и PersistenceDelegate - PullRequest
       32

XMLEncoder и PersistenceDelegate

2 голосов
/ 14 мая 2010

Я пытаюсь использовать XMLEncoder для записи графа объектов (в моем случае, дерева) в файл. Тем не менее, один класс, содержащийся в нем, на самом деле не является Java-бином, и мне не очень нравится делать его доступным для всех. Доступ к нему больше похож на список и имеет соответствующие add / remove методы.

Я уже написал кастом PersistenceDelegate, чтобы справиться с этим. Однако кажется, что мне нужно добавить PersistenceDelegate к экземпляру XMLEncoder вручную.

Есть ли способ для XMLEncoder подобрать его самостоятельно или мне действительно нужно добавлять его всякий раз, когда я использую кодировщик, чтобы написать график, в котором может содержать указанный класс?

1 Ответ

1 голос
/ 14 мая 2010

Копаясь в нашей кодовой базе, я наткнулся на класс XMLEncodeFactory, который позволяет регистрировать PersistenceDelegates для определенных классов и обрабатывает создание экземпляров XMLEncoder с предварительно установленными делегатами. Сам код очень прост, но я бы подумал, что такая возможность уже будет предложена Java.

Мне сказали, что это было создано после разговора с первоначальными разработчиками класса XMLEncoder, и, очевидно, нет более хорошей альтернативы.

...