|
|
|
@ -394,7 +394,6 @@ public class BeanRelation {
|
|
|
|
|
* @param index
|
|
|
|
|
* @param <T>
|
|
|
|
|
*/
|
|
|
|
|
@SuppressWarnings("unchecked")
|
|
|
|
|
private final static <T extends BaseBean> void recursionImpl(BaseBean bean, Predicate<T> fun,
|
|
|
|
|
Enum<?>[] holders, int index) {
|
|
|
|
|
if (index >= holders.length) {
|
|
|
|
@ -411,38 +410,4 @@ public class BeanRelation {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 判断target是否为bean为起点的以holders路径上的点。
|
|
|
|
|
* @param bean
|
|
|
|
|
* @param target
|
|
|
|
|
* @param holders
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public static boolean recursionContains(BaseBean bean, BaseBean target, Enum<?>... holders) {
|
|
|
|
|
if (holders.length == 0) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return recursionContainsImpl(bean, target, holders, 0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private final static boolean recursionContainsImpl(BaseBean bean, BaseBean target,
|
|
|
|
|
Enum<?>[] holders, int index) {
|
|
|
|
|
if (index >= holders.length) {
|
|
|
|
|
if (target == bean) {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
index = 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<BaseBean> relaBeans = list(bean, holders[index]);
|
|
|
|
|
for (BaseBean relaBean : relaBeans) {
|
|
|
|
|
if (recursionContainsImpl(relaBean, target, holders, index + 1)) {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|