component = (Component) PropertyUtils.getProperty(entity, property);
} catch (Exception e) {
return Collections.emptyList();
}
if (null == component) { return Collections.emptyList(); }
BeanMap map = new BeanMap(component);
Set<String> properties = map.keySet();
Set<String> excludeSet = null;
if (null == excludePropertes) {
excludeSet = Collections.emptySet();
} else {
excludeSet = CollectUtils.newHashSet();
excludeSet.addAll(Arrays.asList(excludePropertes));
}
for (Iterator<String> iter = properties.iterator(); iter.hasNext();) {
String propertyName = iter.next();
String cascadeName = property + "." + propertyName;
if (excludeSet.contains(cascadeName) || "class".equals(propertyName)) {
continue;
}
if (!PropertyUtils.isWriteable(component, propertyName)) {
continue;
}
Object value = map.get(propertyName);
addCriterion(nestedName, entity, excludePropertes, cascadeName, value, criterions, mode,
ignoreZero);
}
return criterions;