public OJField getCopy() { /*if (isAlterable()) return substance.getCopy();*/ /** **************** */ // return (FieldDeclaration) substance.clone () ; try { if (substance instanceof OJFieldByteCode) { java.lang.reflect.Field field = ((OJFieldByteCode) substance).getByteCode(); OJField result = (OJField) this.clone(); // On remplace du ByteCode par du SourceCode FieldDeclaration fd = new FieldDeclaration( new ModifierList(field.getModifiers()), TypeName.forOJClass(OJClass.forClass(field.getDeclaringClass())), field.getName(), null); Environment env = substance.getDeclaringClass().getEnvironment(); result.substance = new OJFieldSourceCode(env, substance.getDeclaringClass(), fd); return result; } else if (substance instanceof OJFieldSourceCode) { OJField result = (OJField) this.clone(); result.substance = new OJFieldSourceCode( ((OJFieldSourceCode) this.substance).getEnvironment(), this.substance.getDeclaringClass(), (FieldDeclaration) this.substance.getSourceCode().makeRecursiveCopy()); return result; } } catch (Exception e) { System.err.println("Failed to copy " + this + ": " + e); e.printStackTrace(); } return null; }
public boolean getBoolean(Object obj) throws IllegalArgumentException, IllegalAccessException { return substance.getBoolean(obj); }
public OJModifier getModifiers() { return substance.getModifiers(); }
public String getName() { return substance.getName(); }
public final void setType(OJClass type) throws CannotAlterException { substance.setType(type); }
public final void setName(String name) throws CannotAlterException { substance.setName(name); }
public final Field getByteCode() throws CannotExecuteException { return substance.getByteCode(); }
public void set(Object obj, Object value) throws IllegalArgumentException, IllegalAccessException { substance.set(obj, value); }
public void setBoolean(Object obj, boolean z) throws IllegalArgumentException, IllegalAccessException { substance.setBoolean(obj, z); }
public float getFloat(Object obj) throws IllegalArgumentException, IllegalAccessException { return substance.getFloat(obj); }
public double getDouble(Object obj) throws IllegalArgumentException, IllegalAccessException { return substance.getDouble(obj); }
public long getLong(Object obj) throws IllegalArgumentException, IllegalAccessException { return substance.getLong(obj); }
public short getShort(Object obj) throws IllegalArgumentException, IllegalAccessException { return substance.getShort(obj); }
public char getChar(Object obj) throws IllegalArgumentException, IllegalAccessException { return substance.getChar(obj); }
public boolean isExecutable() { return substance.isExecutable(); }
public void setByte(Object obj, byte b) throws IllegalArgumentException, IllegalAccessException { substance.setByte(obj, b); }
public boolean isAlterable() { return substance.isAlterable(); }
public void setChar(Object obj, char c) throws IllegalArgumentException, IllegalAccessException { substance.setChar(obj, c); }
public final FieldDeclaration getSourceCode() throws CannotAlterException { return substance.getSourceCode(); }
public void setShort(Object obj, short s) throws IllegalArgumentException, IllegalAccessException { substance.setShort(obj, s); }
public void setDeclaringClass(OJClass parent) throws CannotAlterException { substance.setDeclaringClass(parent); }
public void setInt(Object obj, int i) throws IllegalArgumentException, IllegalAccessException { substance.setInt(obj, i); }
public final void setModifiers(int mods) throws CannotAlterException { substance.setModifiers(mods); }
public void setLong(Object obj, long l) throws IllegalArgumentException, IllegalAccessException { substance.setLong(obj, l); }
public OJClass getDeclaringClass() { return substance.getDeclaringClass(); }
public void setFloat(Object obj, float f) throws IllegalArgumentException, IllegalAccessException { substance.setFloat(obj, f); }
public String getIdentifiableName() { return substance.getIdentifiableName(); }
public void setDouble(Object obj, double d) throws IllegalArgumentException, IllegalAccessException { substance.setDouble(obj, d); }
public OJClass getType() { return substance.getType(); }
public String toString() { return substance.toString(); }