in src/java/org/apache/fulcrum/intake/model/Group.java [458:503]
public void setValidProperties(Object obj)
{
Class<?> cls = obj.getClass();
while (cls != null)
{
Field<?>[] flds = mapToObjectFields.get(cls.getName());
if (flds != null)
{
for (int i = flds.length - 1; i >= 0; i--)
{
try
{
flds[i].setProperty(obj);
}
catch (IntakeException e)
{
// just move on to next field
}
}
}
// Also check any interfaces
Class<?>[] interfaces = cls.getInterfaces();
for (int idx = 0; idx < interfaces.length; idx++)
{
Field<?>[] interfaceFields =
mapToObjectFields.get(interfaces[idx].getName());
if (interfaceFields != null)
{
for (int i = 0; i < interfaceFields.length; i++)
{
try
{
interfaceFields[i].setProperty(obj);
}
catch(IntakeException e)
{
// just move on to next field
}
}
}
}
cls = cls.getSuperclass();
}
}