home *** CD-ROM | disk | FTP | other *** search
- package java.beans;
-
- import java.lang.reflect.Array;
-
- class ArrayPersistenceDelegate extends PersistenceDelegate {
- protected boolean mutatesTo(Object var1, Object var2) {
- return var2 != null && var1.getClass() == var2.getClass() && Array.getLength(var1) == Array.getLength(var2);
- }
-
- protected Expression instantiate(Object var1, Encoder var2) {
- Class var3 = var1.getClass();
- return new Expression(var1, Array.class, "newInstance", new Object[]{var3.getComponentType(), new Integer(Array.getLength(var1))});
- }
-
- protected void initialize(Class<?> var1, Object var2, Object var3, Encoder var4) {
- int var5 = Array.getLength(var2);
-
- for(int var6 = 0; var6 < var5; ++var6) {
- Integer var7 = new Integer(var6);
- Expression var8 = new Expression(var2, "get", new Object[]{var7});
- Expression var9 = new Expression(var3, "get", new Object[]{var7});
-
- try {
- Object var10 = var8.getValue();
- Object var11 = var9.getValue();
- var4.writeExpression(var8);
- if (!MetaData.equals(var11, var4.get(var10))) {
- DefaultPersistenceDelegate.invokeStatement(var2, "set", new Object[]{var7, var10}, var4);
- }
- } catch (Exception var12) {
- var4.getExceptionListener().exceptionThrown(var12);
- }
- }
-
- }
- }
-