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
>