@Override public boolean isAnnotationPresent(Class<? extends Annotation> annotationType) { return getAnnotation(annotationType) != null; } }
CacheControlHeader cch = am.getAnnotation(CacheControlHeader.class); if (cch == null) { return NO_CACHE_FILTER;
public List<ResourceFilter> create(AbstractMethod am) { ResourceFilters rfs = am.getAnnotation(ResourceFilters.class); if (rfs == null) rfs = am.getResource().getAnnotation(ResourceFilters.class); if (rfs == null) return null; return getResourceFilters(rfs.value()); }
@Override public List<ResourceFilter> create(AbstractMethod am) { // DenyAll on the method take precedence over RolesAllowed and PermitAll if (am.isAnnotationPresent(DenyAll.class)) return Collections.<ResourceFilter>singletonList(new Filter()); // RolesAllowed on the method takes precedence over PermitAll RolesAllowed ra = am.getAnnotation(RolesAllowed.class); if (ra != null) return Collections.<ResourceFilter>singletonList(new Filter(ra.value())); // PermitAll takes precedence over RolesAllowed on the class if (am.isAnnotationPresent(PermitAll.class)) return null; // RolesAllowed on the class takes precedence over PermitAll ra = am.getResource().getAnnotation(RolesAllowed.class); if (ra != null) return Collections.<ResourceFilter>singletonList(new Filter(ra.value())); // No need to check whether PermitAll is present. return null; } }
@Override public List<ResourceFilter> create(AbstractMethod am) { if (am.isAnnotationPresent(CacheMaxAge.class)) { CacheMaxAge maxAge = am.getAnnotation(CacheMaxAge.class); return newCacheFilter("max-age: " + maxAge.unit().toSeconds(maxAge.time())); } else if (am.isAnnotationPresent(NoCache.class)) { return newCacheFilter("no-cache"); } else { return Collections.emptyList(); } } private List<ResourceFilter> newCacheFilter(String content) { return Collections .<ResourceFilter> singletonList(new CacheResponseFilter(content)); }
@Override public boolean isAnnotationPresent(Class<? extends Annotation> annotationType) { return getAnnotation(annotationType) != null; } }
@Override public boolean isAnnotationPresent(Class<? extends Annotation> annotationType) { return getAnnotation(annotationType) != null; } }
@Override public List<ResourceFilter> create(AbstractMethod am) { if (am.getResource().getAnnotation(Unbuffered.class) != null || am.getAnnotation(Unbuffered.class) != null) { return ImmutableList.of(this); } return ImmutableList.of(); }
@Override public List<ResourceFilter> create(AbstractMethod am) { if (am.getResource().getAnnotation(Unbuffered.class) != null || am.getAnnotation(Unbuffered.class) != null) { return ImmutableList.of(this); } return ImmutableList.of(); }
public class OverrideInputTypeResourceFilterFactory implements ResourceFilterFactory { @Override public List<ResourceFilter> create(AbstractMethod am) { // documented to only be AbstractSubResourceLocator, AbstractResourceMethod, or AbstractSubResourceMethod if (am instanceof AbstractSubResourceLocator) { // not actually invoked per request, nothing to do log.debug("Ignoring AbstractSubResourceLocator {}", am); return null; } else if (am instanceof AbstractResourceMethod) { OverrideInputType annotation = am.getAnnotation(OverrideInputType.class); if (annotation == null) { annotation = am.getResource().getAnnotation(OverrideInputType.class); } if (annotation != null) { return Lists.<ResourceFilter>newArrayList( new OverrideInputTypeResourceFilter(annotation.value(), annotation.except())); } } else { log.warn("Got an unexpected instance of {}: {}", am.getClass().getName(), am); } return null; } }
@Override public List<ResourceFilter> create(AbstractMethod am) { Secure secureAnnotation = am.getResource().getAnnotation(Secure.class); // Secure annotation at the method takes precedence over the class if (am.isAnnotationPresent(Secure.class)) { secureAnnotation = am.getAnnotation(Secure.class); } if(secureAnnotation != null){ return Collections.<ResourceFilter>singletonList(new OauthFilter(secureAnnotation, oauthAuthenticator, am)); } return Collections.EMPTY_LIST; }
Path[] annotations = new Path[] { am.getResource().getAnnotation(Path.class), am.getAnnotation(Path.class) };
@Override public List<ResourceFilter> create(AbstractMethod abstractMethod) { List<ResourceFilter> resourceFilters = Lists.newArrayList(); if (abstractMethod.isAnnotationPresent(ThrottleConcurrentRequests.class)) { int maxRequests = abstractMethod.getAnnotation(ThrottleConcurrentRequests.class).maxRequests(); InstanceConcurrentRequestRegulatorSupplier regulatorSupplier = new InstanceConcurrentRequestRegulatorSupplier( new DefaultConcurrentRequestRegulator(SEMAPHORE_PROPERTY, maxRequests, _meter)); resourceFilters.add(new ConcurrentRequestsThrottlingFilter(regulatorSupplier)); } return resourceFilters; } }
public List<ResourceFilter> create(AbstractMethod am) { ResourceFilters rfs = am.getAnnotation(ResourceFilters.class); if (rfs == null) rfs = am.getResource().getAnnotation(ResourceFilters.class); if (rfs == null) return null; return getResourceFilters(rfs.value()); }
public List<ResourceFilter> create(AbstractMethod am) { ResourceFilters rfs = am.getAnnotation(ResourceFilters.class); if (rfs == null) rfs = am.getResource().getAnnotation(ResourceFilters.class); if (rfs == null) return null; return getResourceFilters(rfs.value()); }
@Override public List<ResourceFilter> create(AbstractMethod am) { LinkedList<ResourceFilter> filters = Lists.newLinkedList(); // Check the resource RequiresPermissions permAnnotation = am.getResource().getAnnotation(RequiresPermissions.class); if (permAnnotation != null) { filters.add(new AuthorizationResourceFilter(ImmutableList.copyOf(permAnnotation.value()), permAnnotation.logical(), createSubstitutionMap(permAnnotation, am))); } // Check the method permAnnotation = am.getAnnotation(RequiresPermissions.class); if (permAnnotation != null) { filters.add(new AuthorizationResourceFilter(ImmutableList.copyOf(permAnnotation.value()), permAnnotation.logical(), createSubstitutionMap(permAnnotation, am))); } // If we're doing authorization or if authentication is explicitly requested then add it as the first filter if (!filters.isEmpty() || am.getResource().getAnnotation(RequiresAuthentication.class) != null || am.getAnnotation(RequiresAuthentication.class) != null) { filters.addFirst(new AuthenticationResourceFilter(_securityManager, _tokenGenerator)); } return filters; }
@Override public List<ResourceFilter> create(AbstractMethod am) { if (am instanceof AbstractResourceMethod) { OAuth20 oauth20 = am.getAnnotation(OAuth20.class); AllowedScopes scopes = am.getAnnotation(AllowedScopes.class); if (oauth20!=null) { LOGGER.debug("Installing oauth2 filter on {}", am.getResource()); return getFilters(scopes); } else { oauth20 = am.getResource().getAnnotation(OAuth20.class); scopes = am.getResource().getAnnotation(AllowedScopes.class); if (oauth20!=null) { LOGGER.debug("Installing oauth2 filter on {}", am.getResource()); return getFilters(scopes); } return null; } } else return null; }
@Override public List<ResourceFilter> create(AbstractMethod am) { // DenyAll on the method take precedence over RolesAllowed and PermitAll if (am.isAnnotationPresent(DenyAll.class)) return Collections.<ResourceFilter>singletonList(new Filter()); // RolesAllowed on the method takes precedence over PermitAll RolesAllowed ra = am.getAnnotation(RolesAllowed.class); if (ra != null) return Collections.<ResourceFilter>singletonList(new Filter(ra.value())); // PermitAll takes precedence over RolesAllowed on the class if (am.isAnnotationPresent(PermitAll.class)) return null; // RolesAllowed on the class takes precedence over PermitAll ra = am.getResource().getAnnotation(RolesAllowed.class); if (ra != null) return Collections.<ResourceFilter>singletonList(new Filter(ra.value())); // No need to check whether PermitAll is present. return null; } }
@Override public List<ResourceFilter> create(AbstractMethod am) { // DenyAll on the method take precedence over RolesAllowed and PermitAll if (am.isAnnotationPresent(DenyAll.class)) return Collections.<ResourceFilter>singletonList(new Filter()); // RolesAllowed on the method takes precedence over PermitAll RolesAllowed ra = am.getAnnotation(RolesAllowed.class); if (ra != null) return Collections.<ResourceFilter>singletonList(new Filter(ra.value())); // PermitAll takes precedence over RolesAllowed on the class if (am.isAnnotationPresent(PermitAll.class)) return null; // RolesAllowed on the class takes precedence over PermitAll ra = am.getResource().getAnnotation(RolesAllowed.class); if (ra != null) return Collections.<ResourceFilter>singletonList(new Filter(ra.value())); // No need to check whether PermitAll is present. return null; } }
@Override public List<ResourceFilter> create(AbstractMethod am) { // DenyAll on the method take precedence over RolesAllowed and PermitAll if (am.isAnnotationPresent(DenyAll.class)) return Collections.<ResourceFilter>singletonList(new Filter()); // RolesAllowed on the method takes precedence over PermitAll RolesAllowed ra = am.getAnnotation(RolesAllowed.class); if (ra != null) return Collections.<ResourceFilter>singletonList(new Filter(ra.value())); // PermitAll takes precedence over RolesAllowed on the class if (am.isAnnotationPresent(PermitAll.class)) return null; // RolesAllowed on the class takes precedence over PermitAll ra = am.getResource().getAnnotation(RolesAllowed.class); if (ra != null) return Collections.<ResourceFilter>singletonList(new Filter(ra.value())); // No need to check whether PermitAll is present. return null; } }