|
From: <one...@us...> - 2002-11-30 08:19:03
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/type
In directory sc8-pr-cvs1:/tmp/cvs-serv13167/hibernate/type
Modified Files:
ComponentType.java
Log Message:
introduced Getter and Setter classes and improved an exception message setting null to a primitive property
Index: ComponentType.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/type/ComponentType.java,v
retrieving revision 1.47
retrieving revision 1.48
diff -C2 -d -r1.47 -r1.48
*** ComponentType.java 26 Nov 2002 03:35:45 -0000 1.47
--- ComponentType.java 30 Nov 2002 08:19:00 -0000 1.48
***************
*** 4,8 ****
import java.io.Serializable;
import java.lang.reflect.Constructor;
- import java.lang.reflect.Method;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
--- 4,7 ----
***************
*** 24,29 ****
private final Constructor constructor;
private final Type[] types;
! private final Method[] getters;
! private final Method[] setters;
private final String[] propertyNames;
private final Cascades.CascadeStyle[] cascade;
--- 23,28 ----
private final Constructor constructor;
private final Type[] types;
! private final ReflectHelper.Getter[] getters;
! private final ReflectHelper.Setter[] setters;
private final String[] propertyNames;
private final Cascades.CascadeStyle[] cascade;
***************
*** 31,35 ****
private final int[] joinedFetch;
private final String parentProperty;
! private final Method parentSetter;
public int[] sqlTypes(Mapping pi) throws MappingException {
--- 30,34 ----
private final int[] joinedFetch;
private final String parentProperty;
! private final ReflectHelper.Setter parentSetter;
public int[] sqlTypes(Mapping pi) throws MappingException {
***************
*** 68,78 ****
this.types = types;
propertySpan = properties.length;
! getters = new Method[propertySpan];
! setters = new Method[propertySpan];
for ( int i=0; i<properties.length; i++ ) {
! getters[i] = ReflectHelper.getGetterMethod( componentClass, properties[i] );
! setters[i] = ReflectHelper.getSetterMethod( componentClass, properties[i] );
}
! this.parentSetter = (parentProperty==null) ? null : ReflectHelper.getSetterMethod(componentClass, parentProperty);
this.parentProperty = parentProperty;
this.propertyNames = properties;
--- 67,77 ----
this.types = types;
propertySpan = properties.length;
! getters = new ReflectHelper.Getter[propertySpan];
! setters = new ReflectHelper.Setter[propertySpan];
for ( int i=0; i<properties.length; i++ ) {
! getters[i] = ReflectHelper.getGetter( componentClass, properties[i] );
! setters[i] = ReflectHelper.getSetter( componentClass, properties[i] );
}
! this.parentSetter = (parentProperty==null) ? null : ReflectHelper.getSetter(componentClass, parentProperty);
this.parentProperty = parentProperty;
this.propertyNames = properties;
***************
*** 101,105 ****
for ( int i=0; i<getters.length; i++ ) {
try {
! if ( !types[i].equals( getters[i].invoke(x, null), getters[i].invoke(y, null) ) ) return false;
}
catch (Exception e) {
--- 100,104 ----
for ( int i=0; i<getters.length; i++ ) {
try {
! if ( !types[i].equals( getters[i].get(x), getters[i].get(y) ) ) return false;
}
catch (Exception e) {
***************
*** 115,119 ****
for ( int i=0; i<getters.length; i++ ) {
try {
! if ( types[i].isDirty( getters[i].invoke(x, null), getters[i].invoke(y, null), owner, factory ) ) return true;
}
catch (Exception e) {
--- 114,118 ----
for ( int i=0; i<getters.length; i++ ) {
try {
! if ( types[i].isDirty( getters[i].get(x), getters[i].get(y), owner, factory ) ) return true;
}
catch (Exception e) {
***************
*** 142,146 ****
Object result = instantiate(owner);
for ( int i=0; i<propertySpan; i++ ) {
! ReflectHelper.set( setters[i], result, values[i], componentClass, propertyNames[i] );
}
return result;
--- 141,145 ----
Object result = instantiate(owner);
for ( int i=0; i<propertySpan; i++ ) {
! setters[i].set( result, values[i] );
}
return result;
***************
*** 178,182 ****
public Object getPropertyValue(Object component, int i) throws HibernateException {
! return ReflectHelper.get( getters[i], component, componentClass, propertyNames[i] );
}
--- 177,181 ----
public Object getPropertyValue(Object component, int i) throws HibernateException {
! return getters[i].get(component);
}
***************
*** 191,195 ****
public void setPropertyValues(Object component, Object[] values) throws HibernateException {
for ( int i=0; i<propertySpan; i++ ) {
! ReflectHelper.set( setters[i], component, values[i], componentClass, propertyNames[i] );
}
}
--- 190,194 ----
public void setPropertyValues(Object component, Object[] values) throws HibernateException {
for ( int i=0; i<propertySpan; i++ ) {
! setters[i].set( component, values[i] );
}
}
***************
*** 220,224 ****
try {
Object inst = constructor.newInstance(null);
! if (parentSetter!=null) ReflectHelper.set(parentSetter, inst, parent, componentClass, parentProperty);
return inst;
}
--- 219,223 ----
try {
Object inst = constructor.newInstance(null);
! if (parentSetter!=null) parentSetter.set(inst, parent);
return inst;
}
|