I remembered a thread a while back regarding trying to keep the API clean, which is why I didn't just add it. :-) I suppose I could add something to the Cayenne class as you suggested, but I wonder if that class will just start to become a dumping ground in the future?
Thanks, mrg On Mon, Aug 23, 2010 at 8:24 AM, Andrus Adamchik <[email protected]> wrote: > Actually in 3.1 we are moving away from metadata utility methods inside > Perissitent/CayenneDataObject. We've already deprecated 'getObjEntity'. A > current place for this type of utilities is in org.apache.cayenne.Cayenne > (aka DataObjectUtils). There was a discussion about it some time ago. Don't > remember the subject off hand. > > Also since we should try to keep the API clean, how about condensing that to: > > Cayenne.getDbAttribute(Persistent object, String propertyName) ? > > (similar to the existing Cayenne.getProperty(Persistent object, String > properyName)). > > Andrus > > > > On Aug 20, 2010, at 3:20 PM, Michael Gentry wrote: >> One thing I recently added to our common/shared base class is: >> >> /** >> * Lookup the maximum database length defined in the Cayenne model for >> * the given attribute. >> * >> * @param attribute The attribute to lookup. >> * @return The maximum length for the attribute. >> */ >> public int getMaxLength(String attribute) >> { >> return >> getObjEntity().getAttributeMap().get(attribute).getDbAttribute().getMaxLength(); >> } >> >> >> Would it make sense to add this to CayenneDataObject in 3.1? We use >> it to limit file upload sizes and do client-side validation in the UI. >> I could also see isMandatory() being useful, too. Scale/precision >> not as much, but might help some. >> >> Thoughts? >> >> Thanks, >> >> mrg >> > >
