package org.hotswap.agent.plugin.spring.signature; import org.hotswap.agent.javassist.ClassPool; import org.hotswap.agent.util.signature.ClassSignatureElement; import org.hotswap.agent.util.signature.ClassSignatureComparerHelper; /** * Checks if a Signature of a Class has changed enough to necessitate a Spring reload. * * @author Erki Ehtla, Vladimir Dvorak * */ public class ClassSignatureComparer { private static final ClassSignatureElement[] SIGNATURE_ELEMENTS= { ClassSignatureElement.SUPER_CLASS, ClassSignatureElement.INTERFACES, ClassSignatureElement.CLASS_ANNOTATION, ClassSignatureElement.CONSTRUCTOR, ClassSignatureElement.METHOD, ClassSignatureElement.METHOD_STATIC, ClassSignatureElement.METHOD_ANNOTATION, ClassSignatureElement.METHOD_PARAM_ANNOTATION, ClassSignatureElement.METHOD_EXCEPTION, ClassSignatureElement.FIELD, ClassSignatureElement.FIELD_STATIC, ClassSignatureElement.FIELD_ANNOTATION }; public static boolean isPoolClassDifferent(Class<?> classBeingRedefined, ClassPool cp) { return ClassSignatureComparerHelper.isPoolClassDifferent(classBeingRedefined, cp, SIGNATURE_ELEMENTS); } }