/* * Copyright (c) 2016 OBiBa. All rights reserved. * * This program and the accompanying materials * are made available under the terms of the GNU Public License v3.0. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.obiba.jersey.shiro.authz.annotation; import java.lang.annotation.Annotation; import java.lang.reflect.Method; class CglibProxyUtils { private CglibProxyUtils() {} static boolean isSuperMethodAnnotated(Class<?> superClass, Method method, Class<? extends Annotation> annotationClass) { try { return superClass.getMethod(method.getName(), method.getParameterTypes()).isAnnotationPresent(annotationClass); } catch(NoSuchMethodException ignored) { return false; } } static <T extends Annotation> T getSuperMethodAnnotation(Class<?> superClass, Method method, Class<T> annotationClass) { try { return superClass.getMethod(method.getName(), method.getParameterTypes()).getAnnotation(annotationClass); } catch(NoSuchMethodException ignored) { return null; } } }