|
From: <one...@us...> - 2002-11-30 08:19:02
|
Update of /cvsroot/hibernate/Hibernate/cirrus/hibernate/persister
In directory sc8-pr-cvs1:/tmp/cvs-serv13167/hibernate/persister
Modified Files:
AbstractEntityPersister.java
Log Message:
introduced Getter and Setter classes and improved an exception message setting null to a primitive property
Index: AbstractEntityPersister.java
===================================================================
RCS file: /cvsroot/hibernate/Hibernate/cirrus/hibernate/persister/AbstractEntityPersister.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** AbstractEntityPersister.java 26 Nov 2002 14:47:29 -0000 1.17
--- AbstractEntityPersister.java 30 Nov 2002 08:19:00 -0000 1.18
***************
*** 93,98 ****
private transient final String identifierPropertyName;
private transient final Type identifierType;
! private transient final Method setIdentifierMethod;
! private transient final Method getIdentifierMethod;
private transient final Method proxyGetIdentifierMethod;
--- 93,98 ----
private transient final String identifierPropertyName;
private transient final Type identifierType;
! private transient final ReflectHelper.Setter identifierSetter;
! private transient final ReflectHelper.Getter identifierGetter;
private transient final Method proxyGetIdentifierMethod;
***************
*** 103,111 ****
private transient final String versionColumnName;
private transient final VersionType versionType;
! private transient final Method getVersionMethod;
private transient final int versionProperty;
! private transient final Method[] getters;
! private transient final Method[] setters;
protected transient final int hydrateSpan;
--- 103,111 ----
private transient final String versionColumnName;
private transient final VersionType versionType;
! private transient final ReflectHelper.Getter versionGetter;
private transient final int versionProperty;
! private transient final ReflectHelper.Getter[] getters;
! private transient final ReflectHelper.Setter[] setters;
protected transient final int hydrateSpan;
***************
*** 215,219 ****
public void setPropertyValues(Object object, Object[] values) throws HibernateException {
for (int j=0; j<hydrateSpan; j++) {
! ReflectHelper.set( getSetters()[j], object, values[j], mappedClass, propertyNames[j] );
}
}
--- 215,219 ----
public void setPropertyValues(Object object, Object[] values) throws HibernateException {
for (int j=0; j<hydrateSpan; j++) {
! getSetters()[j].set(object, values[j]);
}
}
***************
*** 225,229 ****
Object[] result = new Object[hydrateSpan];
for (int j=0; j<hydrateSpan; j++) {
! result[j] = ReflectHelper.get( getGetters()[j], object, mappedClass, propertyNames[j] );
}
return result;
--- 225,229 ----
Object[] result = new Object[hydrateSpan];
for (int j=0; j<hydrateSpan; j++) {
! result[j] = getGetters()[j].get(object);
}
return result;
***************
*** 234,238 ****
*/
public Object getPropertyValue(Object object, int i) throws HibernateException {
! return ReflectHelper.get( getGetters()[i], object, mappedClass, propertyNames[i] );
}
--- 234,238 ----
*/
public Object getPropertyValue(Object object, int i) throws HibernateException {
! return getGetters()[i].get(object);
}
***************
*** 241,245 ****
*/
public void setPropertyValue(Object object, int i, Object value) throws HibernateException {
! ReflectHelper.set( getSetters()[i], object, value, mappedClass, propertyNames[i] );
}
--- 241,245 ----
*/
public void setPropertyValue(Object object, int i, Object value) throws HibernateException {
! getSetters()[i].set(object, value);
}
***************
*** 267,272 ****
}
else {
! if (getIdentifierMethod==null) throw new HibernateException( "The class has no identifier property: " + className );
! return (Serializable) ReflectHelper.get( getIdentifierMethod, object, mappedClass, identifierPropertyName );
}
}
--- 267,272 ----
}
else {
! if (identifierGetter==null) throw new HibernateException( "The class has no identifier property: " + className );
! return (Serializable) identifierGetter.get(object);
}
}
***************
*** 274,283 ****
public Object getVersion(Object object) throws HibernateException {
if ( !versioned ) return null;
! return ReflectHelper.get( getVersionMethod, object, mappedClass, versionPropertyName );
}
public void setIdentifier(Object object, Serializable id) throws HibernateException {
! if (setIdentifierMethod!=null) {
! ReflectHelper.set( setIdentifierMethod, object, id, mappedClass, identifierPropertyName );
}
}
--- 274,283 ----
public Object getVersion(Object object) throws HibernateException {
if ( !versioned ) return null;
! return versionGetter.get(object);
}
public void setIdentifier(Object object, Serializable id) throws HibernateException {
! if (identifierSetter!=null) {
! identifierSetter.set(object, id);
}
}
***************
*** 303,311 ****
// Getters and Setters
! protected Method[] getSetters() {
return setters;
}
! protected Method[] getGetters() {
return getters;
}
--- 303,311 ----
// Getters and Setters
! protected ReflectHelper.Setter[] getSetters() {
return setters;
}
! protected ReflectHelper.Getter[] getGetters() {
return getters;
}
***************
*** 344,348 ****
public boolean hasIdentifierProperty() {
! return getIdentifierMethod!=null;
}
--- 344,348 ----
public boolean hasIdentifierProperty() {
! return identifierGetter!=null;
}
***************
*** 478,487 ****
if (identifierPropertyName!=null) {
! setIdentifierMethod = ReflectHelper.getSetterMethod(mappedClass, identifierPropertyName);
! getIdentifierMethod = ReflectHelper.getGetterMethod(mappedClass, identifierPropertyName);
! Method proxyGetter = getIdentifierMethod;
try {
! proxyGetter = ReflectHelper.getGetterMethod( model.getProxyInterface(), identifierPropertyName );
}
catch (Exception e) {}
--- 478,487 ----
if (identifierPropertyName!=null) {
! identifierSetter = ReflectHelper.getSetter(mappedClass, identifierPropertyName);
! identifierGetter = ReflectHelper.getGetter(mappedClass, identifierPropertyName);
! Method proxyGetter = identifierGetter.getMethod();
try {
! proxyGetter = ReflectHelper.getGetter( model.getProxyInterface(), identifierPropertyName ).getMethod();
}
catch (Exception e) {}
***************
*** 489,494 ****
}
else {
! getIdentifierMethod = null;
! setIdentifierMethod = null;
proxyGetIdentifierMethod = null;
}
--- 489,494 ----
}
else {
! identifierGetter = null;
! identifierSetter = null;
proxyGetIdentifierMethod = null;
}
***************
*** 585,589 ****
versionPropertyName = model.getVersion().getName();
versioned = true;
! getVersionMethod = ReflectHelper.getGetterMethod(mappedClass, versionPropertyName);
versionType = (VersionType) model.getVersion().getType();
}
--- 585,589 ----
versionPropertyName = model.getVersion().getName();
versioned = true;
! versionGetter = ReflectHelper.getGetter(mappedClass, versionPropertyName);
versionType = (VersionType) model.getVersion().getType();
}
***************
*** 592,596 ****
versioned = false;
versionType = null;
! getVersionMethod = null;
}
--- 592,596 ----
versioned = false;
versionType = null;
! versionGetter = null;
}
***************
*** 599,604 ****
propertyTypes = new Type[hydrateSpan];
propertyNames = new String[hydrateSpan];
! getters = new Method[hydrateSpan];
! setters = new Method[hydrateSpan];
cascadeStyles = new Cascades.CascadeStyle[hydrateSpan];
--- 599,604 ----
propertyTypes = new Type[hydrateSpan];
propertyNames = new String[hydrateSpan];
! getters = new ReflectHelper.Getter[hydrateSpan];
! setters = new ReflectHelper.Setter[hydrateSpan];
cascadeStyles = new Cascades.CascadeStyle[hydrateSpan];
***************
*** 612,617 ****
if ( prop==model.getVersion() ) tempVersionProperty = i;
propertyNames[i] = prop.getName();
! getters[i] = ReflectHelper.getGetterMethod( mappedClass, propertyNames[i] );
! setters[i] = ReflectHelper.getSetterMethod( mappedClass, propertyNames[i] );
propertyTypes[i] = prop.getType();
--- 612,617 ----
if ( prop==model.getVersion() ) tempVersionProperty = i;
propertyNames[i] = prop.getName();
! getters[i] = ReflectHelper.getGetter( mappedClass, propertyNames[i] );
! setters[i] = ReflectHelper.getSetter( mappedClass, propertyNames[i] );
propertyTypes[i] = prop.getType();
|