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(); |