1 6 package com.thoughtriver.open.vectorvisuals.persistence; 7 8 import java.awt.*; 9 import java.beans.*; 10 import java.util.List ; 11 12 import com.thoughtriver.open.vectorvisuals.*; 13 14 21 public class VisualObjectPersistenceDelegate extends DefaultPersistenceDelegate { 22 23 26 @Override 27 protected Expression instantiate(final Object oldInstance, @SuppressWarnings ("unused") final Encoder out) { 28 VisualObject object = (VisualObject) oldInstance; 29 Shape shape = object.getShape(); 30 Brush lineBrush = object.getLineBrush(); 31 Brush fillBrush = object.getFillBrush(); 32 return new Expression(object, object.getClass(), "new", new Object [] { 33 shape, lineBrush, fillBrush 34 }); 35 } 36 37 40 @Override 41 protected void initialize(final Class <?> type, final Object oldInstance, final Object newInstance, final Encoder out) { 42 super.initialize(type, oldInstance, newInstance, out); 43 VisualObject object = (VisualObject) oldInstance; 44 45 List <VisualObject> embedded = object.getAllEmbedded(); 46 for (VisualObject embeddedObj : embedded) { 47 out.writeStatement(new Statement(oldInstance, "add", new Object [] { 48 embeddedObj 49 })); 50 } 51 } 52 53 } 54 | Popular Tags |