/** * Return true if the bean is considered a 'draft' instance (not 'live'). */ public boolean isDraftInstance(EntityBean entityBean) { if (draft != null) { return Boolean.TRUE == draft.getValue(entityBean); } // no draft property - so return false return false; }
/** * Just returns the beans original insert timestamp value. */ @Override public Object getUpdateValue(BeanProperty prop, EntityBean bean, long now) { return prop.getValue(bean); }
@Override public Object getUpdateValue(BeanProperty prop, EntityBean bean, long now) { return prop.getValue(bean); } }
/** * Just returns the beans original insert timestamp value. */ @Override public Object getUpdateValue(BeanProperty prop, EntityBean bean, long now) { return prop.getValue(bean); }
@Override public Object[] getBindValues(Object value) { Object[] bindvalues = new Object[props.length]; for (int i = 0; i < props.length; i++) { bindvalues[i] = props[i].getValue((EntityBean) value); } return bindvalues; }
/** * Return true if the bean is draftable and considered a 'live' instance. */ public boolean isLiveInstance(EntityBean entityBean) { if (draft != null) { return Boolean.FALSE == draft.getValue(entityBean); } // no draft property - so return false return false; }
@Override public void bindId(DefaultSqlUpdate sqlUpdate, Object value) { for (BeanProperty prop : props) { Object embFieldValue = prop.getValue((EntityBean) value); sqlUpdate.setNextParameter(embFieldValue); } }
@Override public void writeData(DataOutput dataOutput, Object idValue) throws IOException { for (BeanProperty prop : props) { Object embFieldValue = prop.getValue((EntityBean) idValue); prop.writeData(dataOutput, embFieldValue); } }
/** * Bind all the property values to the SqlUpdate. */ public void bindElementValue(SqlUpdate insert, Object value) { EntityBean bean = (EntityBean) value; for (BeanProperty property : propertiesBaseScalar) { insert.setNextParameter(property.getValue(bean)); } }
/** * Return the cache key for the given bean (based on id value). */ public String cacheKeyForBean(EntityBean bean) { return cacheKey(idProperty.getValue(bean)); }
/** * Normal binding of a property value from the bean. */ @Override public void dmlBind(BindableRequest request, EntityBean bean) throws SQLException { Object value = null; if (bean != null) { value = prop.getValue(bean); } request.bind(value, prop); }
/** * Increments the current value by one. */ @Override public Object getUpdateValue(BeanProperty prop, EntityBean bean, long now) { Number currVal = (Number) prop.getValue(bean); if (currVal == null) { throw new IllegalStateException("version property has been set to null on bean: " + bean); } Integer nextVal = currVal.intValue() + 1; return BasicTypeConverter.convert(nextVal, numberType); }
/** * Return the version value in primitive long form (if exists and set). */ @SuppressWarnings("unchecked") public long getVersion(EntityBean entityBean) { if (versionProperty == null) { return 0; } Object value = versionProperty.getValue(entityBean); return value == null ? 0 : versionProperty.scalarType.asVersion(value); }
@Override public void populate(EntityBean sourceBean, EntityBean embeddedId) { Object value = foreignProp.getValue(sourceBean); localProp.setValue(embeddedId, value); }
/** * Convert from embedded bean to Map. */ @Override public Object getIdForJson(EntityBean bean) { EntityBean ebValue = (EntityBean) embIdProperty.getValue(bean); Map<String, Object> map = new LinkedHashMap<>(); for (BeanProperty prop : props) { map.put(prop.getName(), prop.getValue(ebValue)); } return map; }
@Override public void populate(EntityBean sourceBean, EntityBean embeddedId) { Object assocBean = assocOne.getValue(sourceBean); if (assocBean == null) { throw new NullPointerException("The assoc bean for " + assocOne + " is null?"); } Object value = foreignProp.getValue((EntityBean) assocBean); localProp.setValue(embeddedId, value); }
@Override public void dmlBind(BindableRequest request, EntityBean bean) throws SQLException { Object value = uidProp.getValue(bean); request.bind(value, uidProp); // used for summary logging request.setIdValue(value); }
@Override public void bindImport(SqlUpdate sql, EntityBean other) { EntityBean embeddedId = (EntityBean) foreignAssocOne.getValue(other); if (embeddedId == null) { throw new PersistenceException("Foreign Key value null?"); } for (ImportedIdSimple anImported : imported) { Object scalarValue = anImported.foreignProperty.getValue(embeddedId); sql.setNextParameter(scalarValue); } }
@Override public void dmlBind(BindableRequest request, EntityBean bean) throws SQLException { EntityBean idValue = (EntityBean) embId.getValue(bean); for (BeanProperty prop : props) { Object value = prop.getValue(idValue); request.bind(value, prop); } request.setIdValue(idValue); }
@Override public int bind(int position, SqlUpdate update, EntityBean bean) { int pos = position; EntityBean embedded = (EntityBean) foreignAssocOne.getValue(bean); for (ImportedIdSimple anImported : imported) { if (anImported.owner.isUpdateable()) { Object scalarValue = anImported.foreignProperty.getValue(embedded); update.setParameter(pos++, scalarValue); } } return pos; }