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 / StaticFieldsPersistenceDelegate.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  1.5 KB  |  31 lines

  1. package java.beans;
  2.  
  3. import java.lang.reflect.Field;
  4.  
  5. class StaticFieldsPersistenceDelegate extends PersistenceDelegate {
  6.    protected void installFields(Encoder var1, Class<?> var2) {
  7.       Field[] var3 = var2.getFields();
  8.  
  9.       for(int var4 = 0; var4 < var3.length; ++var4) {
  10.          Field var5 = var3[var4];
  11.          if (Object.class.isAssignableFrom(var5.getType())) {
  12.             var1.writeExpression(new Expression(var5, "get", new Object[]{null}));
  13.          }
  14.       }
  15.  
  16.    }
  17.  
  18.    protected Expression instantiate(Object var1, Encoder var2) {
  19.       throw new RuntimeException("Unrecognized instance: " + var1);
  20.    }
  21.  
  22.    public void writeObject(Object var1, Encoder var2) {
  23.       if (var2.getAttribute(this) == null) {
  24.          var2.setAttribute(this, Boolean.TRUE);
  25.          this.installFields(var2, var1.getClass());
  26.       }
  27.  
  28.       super.writeObject(var1, var2);
  29.    }
  30. }
  31.