All Downloads are FREE. Search and download functionalities are using the official Maven repository.

holmos.reflect.reflectCheck.comparator.HolmosComparator Maven / Gradle / Ivy

package holmos.reflect.reflectCheck.comparator;

import holmos.reflect.reflectCheck.HolmosReflectionComparator;
import holmos.reflect.reflectCheck.difference.HolmosDifference;

/**高级比较的比较器:比较Collection,Array,Map,Set,Object等除了基本元素以外的比较器
 * 
 * @author 吴银龙([email protected])
 * */
public interface HolmosComparator {
	/**判断leftValue和rightValue两个元素是否可以比较,如果两个对象可以比较,那么将会调用比较方法
* 对两个对象进行比较,并返回比较的结果,如果两个对象不可比较,那么将不会调用比较方法
* 比较方法将直接返回
* @param leftValue 第一个参与校验的对象 * @param rightValue 第二个参与校验的对象 * @return true 两个对象可以比较 * false 两个对象不可以比较*/ public boolean canCompare(Object leftValue,Object rightValue); /**比较所给的两个参数leftValue和rightValue,如果有所不同,返回其不同的原因和不同的位置
* @param leftValue 第一个参与比较的对象 * @param rightValue 第二个参与比较的对象 * @param onlyIfFirstDifference 如果为true,那么如果实例的第一个要比较的属性或者字段不相同就返回false
* 如果为false,那么就会比较完,给出完整结论 * @param holmosreflectionComparator 反射比较器,利用这个递归比较对象实例的信息 * @return 返回两个对象之间的不同信息*/ public HolmosDifference compare(Object leftValue,Object rightValue,boolean onlyIfFirstDifference,HolmosReflectionComparator holmosreflectionComparator); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy