home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / beans / PersistenceDelegate.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  1.1 KB  |  27 lines

  1. package java.beans;
  2.  
  3. public abstract class PersistenceDelegate {
  4.    public void writeObject(Object var1, Encoder var2) {
  5.       Object var3 = var2.get(var1);
  6.       if (!this.mutatesTo(var1, var3)) {
  7.          var2.remove(var1);
  8.          var2.writeExpression(this.instantiate(var1, var2));
  9.       } else {
  10.          this.initialize(var1.getClass(), var1, var3, var2);
  11.       }
  12.  
  13.    }
  14.  
  15.    protected boolean mutatesTo(Object var1, Object var2) {
  16.       return var2 != null && var1 != null && var1.getClass() == var2.getClass();
  17.    }
  18.  
  19.    protected abstract Expression instantiate(Object var1, Encoder var2);
  20.  
  21.    protected void initialize(Class<?> var1, Object var2, Object var3, Encoder var4) {
  22.       Class var5 = var1.getSuperclass();
  23.       PersistenceDelegate var6 = var4.getPersistenceDelegate(var5);
  24.       var6.initialize(var5, var2, var3, var4);
  25.    }
  26. }
  27.