@Override public boolean accept(Method method, Class<?> proxySuperclass) { if (GROOVY_OBJECT.equals(method.getDeclaringClass().getName())) { return false; } if (isGroovyObject(proxySuperclass)) { for (MethodSignature groovyMethod : METHODS) { if (groovyMethod.matches(method)) { return false; } } } return true; }
@Override public boolean accept(Method method, Class<?> proxySuperclass) { if (GROOVY_OBJECT.equals(method.getDeclaringClass().getName())) { return false; } if (isGroovyObject(proxySuperclass)) { for (MethodSignature groovyMethod : METHODS) { if (groovyMethod.matches(method)) { return false; } } } return true; }
@Override public boolean accept(Method method, Class<?> proxySuperclass) { if (GROOVY_OBJECT.equals(method.getDeclaringClass().getName())) { return false; } if (isGroovyObject(proxySuperclass)) { for (MethodSignature groovyMethod : METHODS) { if (groovyMethod.matches(method)) { return false; } } } return true; }
@Override public boolean accept(Method method, Class<?> proxySuperclass) { if (GROOVY_OBJECT.equals(method.getDeclaringClass().getName())) { return false; } if (isGroovyObject(proxySuperclass)) { for (MethodSignature groovyMethod : METHODS) { if (groovyMethod.matches(method)) { return false; } } } return true; }
@Override public boolean accept(Method method, Class<?> proxySuperclass) { if (GROOVY_OBJECT.equals(method.getDeclaringClass().getName())) { return false; } if (isGroovyObject(proxySuperclass)) { for (MethodSignature groovyMethod : METHODS) { if (groovyMethod.matches(method)) { return false; } } } return true; }
@Override public boolean accept(Method method, Class<?> proxySuperclass) { if (GROOVY_OBJECT.equals(method.getDeclaringClass().getName())) { return false; } if (isGroovyObject(proxySuperclass)) { for (MethodSignature groovyMethod : METHODS) { if (groovyMethod.matches(method)) { return false; } } } return true; }
/** * Returns true if super class of the parameter exists and is abstract and package private. In such case we want to omit such method. * * See WELD-2507 and Oracle issue - https://bugs.java.com/view_bug.do?bug_id=6342411 * * @return true if the super class exists and is abstract and package private */ private boolean hasAbstractPackagePrivateSuperClassWithImplementation(Class<?> clazz, BridgeMethod bridgeMethod) { Class<?> superClass = clazz.getSuperclass(); while (superClass != null) { if (Modifier.isAbstract(superClass.getModifiers()) && Reflections.isPackagePrivate(superClass.getModifiers())) { // if superclass is abstract, we need to dig deeper for (Method method : superClass.getDeclaredMethods()) { if (bridgeMethod.signature.matches(method) && method.getGenericReturnType().equals(bridgeMethod.returnType) && !Reflections.isAbstract(method)) { // this is the case we are after -> methods have same signature and the one in super class has actual implementation return true; } } } superClass = superClass.getSuperclass(); } return false; }
/** * Returns true if super class of the parameter exists and is abstract and package private. In such case we want to omit such method. * * See WELD-2507 and Oracle issue - https://bugs.java.com/view_bug.do?bug_id=6342411 * * @return true if the super class exists and is abstract and package private */ private boolean hasAbstractPackagePrivateSuperClassWithImplementation(Class<?> clazz, BridgeMethod bridgeMethod) { Class<?> superClass = clazz.getSuperclass(); while (superClass != null) { if (Modifier.isAbstract(superClass.getModifiers()) && Reflections.isPackagePrivate(superClass.getModifiers())) { // if superclass is abstract, we need to dig deeper for (Method method : superClass.getDeclaredMethods()) { if (bridgeMethod.signature.matches(method) && method.getGenericReturnType().equals(bridgeMethod.returnType) && !Reflections.isAbstract(method)) { // this is the case we are after -> methods have same signature and the one in super class has actual implementation return true; } } } superClass = superClass.getSuperclass(); } return false; }
/** * Returns true if super class of the parameter exists and is abstract and package private. In such case we want to omit such method. * * See WELD-2507 and Oracle issue - https://bugs.java.com/view_bug.do?bug_id=6342411 * * @return true if the super class exists and is abstract and package private */ private boolean hasAbstractPackagePrivateSuperClassWithImplementation(Class<?> clazz, BridgeMethod bridgeMethod) { Class<?> superClass = clazz.getSuperclass(); while (superClass != null) { if (Modifier.isAbstract(superClass.getModifiers()) && Reflections.isPackagePrivate(superClass.getModifiers())) { // if superclass is abstract, we need to dig deeper for (Method method : superClass.getDeclaredMethods()) { if (bridgeMethod.signature.matches(method) && method.getGenericReturnType().equals(bridgeMethod.returnType) && !Reflections.isAbstract(method)) { // this is the case we are after -> methods have same signature and the one in super class has actual implementation return true; } } } superClass = superClass.getSuperclass(); } return false; }
/** * Returns true if super class of the parameter exists and is abstract and package private. In such case we want to omit such method. * * See WELD-2507 and Oracle issue - https://bugs.java.com/view_bug.do?bug_id=6342411 * * @return true if the super class exists and is abstract and package private */ private boolean hasAbstractPackagePrivateSuperClassWithImplementation(Class<?> clazz, BridgeMethod bridgeMethod) { Class<?> superClass = clazz.getSuperclass(); while (superClass != null) { if (Modifier.isAbstract(superClass.getModifiers()) && Reflections.isPackagePrivate(superClass.getModifiers())) { // if superclass is abstract, we need to dig deeper for (Method method : superClass.getDeclaredMethods()) { if (bridgeMethod.signature.matches(method) && method.getGenericReturnType().equals(bridgeMethod.returnType) && !Reflections.isAbstract(method)) { // this is the case we are after -> methods have same signature and the one in super class has actual implementation return true; } } } superClass = superClass.getSuperclass(); } return false; }
/** * Returns true if super class of the parameter exists and is abstract and package private. In such case we want to omit such method. * * See WELD-2507 and Oracle issue - https://bugs.java.com/view_bug.do?bug_id=6342411 * * @return true if the super class exists and is abstract and package private */ private boolean hasAbstractPackagePrivateSuperClassWithImplementation(Class<?> clazz, BridgeMethod bridgeMethod) { Class<?> superClass = clazz.getSuperclass(); while (superClass != null) { if (Modifier.isAbstract(superClass.getModifiers()) && Reflections.isPackagePrivate(superClass.getModifiers())) { // if superclass is abstract, we need to dig deeper for (Method method : superClass.getDeclaredMethods()) { if (bridgeMethod.signature.matches(method) && method.getGenericReturnType().equals(bridgeMethod.returnType) && !Reflections.isAbstract(method)) { // this is the case we are after -> methods have same signature and the one in super class has actual implementation return true; } } } superClass = superClass.getSuperclass(); } return false; }
/** * Returns true if super class of the parameter exists and is abstract and package private. In such case we want to omit such method. * * See WELD-2507 and Oracle issue - https://bugs.java.com/view_bug.do?bug_id=6342411 * * @return true if the super class exists and is abstract and package private */ private boolean hasAbstractPackagePrivateSuperClassWithImplementation(Class<?> clazz, BridgeMethod bridgeMethod) { Class<?> superClass = clazz.getSuperclass(); while (superClass != null) { if (Modifier.isAbstract(superClass.getModifiers()) && Reflections.isPackagePrivate(superClass.getModifiers())) { // if superclass is abstract, we need to dig deeper for (Method method : superClass.getDeclaredMethods()) { if (bridgeMethod.signature.matches(method) && method.getGenericReturnType().equals(bridgeMethod.returnType) && !Reflections.isAbstract(method)) { // this is the case we are after -> methods have same signature and the one in super class has actual implementation return true; } } } superClass = superClass.getSuperclass(); } return false; }