XMLEncoder를 사용하여 객체 그래프를 XML 파일에 씁니다. UUID 속성 (JavaBean에 id이라는 이름이 있습니다.) 완료하려면 PersistenceDelegate가 필요하다는 것을 알고 있습니다.XMLEncoder를 사용하여 UUID 직렬화
class UuidPersistenceDelegate extends PersistenceDelegate {
protected Expression instantiate(Object oldInstance, Encoder out) {
UUID id = (UUID) oldInstance;
return new Expression(oldInstance, id.getClass(), "fromString", new Object[]{ "id" });
}
}
그리고 인코더로 설정 : 나는 한 다음를 썼다 encoder.writeObject를 호출 할 때 런타임 동안
encoder.setPersistenceDelegate(UUID.class, new UuidPersistenceDelegate());
내가 예외를 다음 얻을 (...) :
java.lang.IllegalArgumentException : 올바르지 않은 UUID 문자열 : id
누구든지 작동하게하는 방법을 알고 있습니까?