javax.ws.rs.container.ResourceInfo#getResourceClass ( )源码实例Demo

下面列出了javax.ws.rs.container.ResourceInfo#getResourceClass ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: mycore   文件: MCRJerseyDefaultFeature.java
@Override
public void configure(ResourceInfo resourceInfo, FeatureContext context) {
    Class<?> resourceClass = resourceInfo.getResourceClass();
    Method resourceMethod = resourceInfo.getResourceMethod();
    context.register(MCRCacheFilter.class);
    if (isStaticContent(resourceClass, resourceMethod)) {
        // class or method is annotated with MCRStaticContent
        //   -> do only register session lock filter
        context.register(MCRSessionLockFilter.class);
        return;
    }
    String packageName = resourceClass.getPackage().getName();
    if (getPackages().contains(packageName)) {
        registerTransactionFilter(context);
        registerSessionHookFilter(context);
        registerAccessFilter(context, resourceClass, resourceMethod);
    }
}
 
源代码2 项目: seed   文件: CacheControlFeature.java
@Override
public void configure(ResourceInfo resourceInfo, FeatureContext featureContext) {
    CacheControl cacheControl = null;
    Method resourceMethod = resourceInfo.getResourceMethod();
    if (resourceMethod != null) {
        cacheControl = resourceMethod.getAnnotation(CacheControl.class);
    } else {
        Class<?> resourceClass = resourceInfo.getResourceClass();
        if (resourceClass != null) {
            cacheControl = resourceClass.getAnnotation(CacheControl.class);
        }
    }

    if (cacheControl == null) {
        featureContext.register(NO_CACHE_FILTER);
    } else {
        featureContext.register(new CacheResponseFilter(cacheControl.value()));
    }
}
 
源代码3 项目: mycore   文件: MCRRestFeature.java
@Override
public void configure(ResourceInfo resourceInfo, FeatureContext context) {
    Class<?> resourceClass = resourceInfo.getResourceClass();
    Method resourceMethod = resourceInfo.getResourceMethod();
    if (requiresTransaction(resourceClass, resourceMethod)) {
        context.register(MCREnableTransactionFilter.class);
    }
    super.configure(resourceInfo, context);
}
 
源代码4 项目: oxTrust   文件: BaseUmaProtectionService.java
public List<String> getRequestedScopes(ResourceInfo resourceInfo) {
	Class<?> resourceClass = resourceInfo.getResourceClass();
	ProtectedApi typeAnnotation = resourceClass.getAnnotation(ProtectedApi.class);
	List<String> scopes = new ArrayList<String>();
	if (typeAnnotation == null) {
		addMethodScopes(resourceInfo, scopes);
	} else {
		scopes.addAll(Stream.of(typeAnnotation.scopes()).collect(Collectors.toList()));
		addMethodScopes(resourceInfo, scopes);
	}
	return scopes;
}
 
源代码5 项目: ameba   文件: ErrorMessage.java
/**
 * <p>parseSource.</p>
 *
 * @param resourceInfo a {@link javax.ws.rs.container.ResourceInfo} object.
 * @return a {@link java.lang.String} object.
 */
public static String parseSource(ResourceInfo resourceInfo) {
    if (resourceInfo != null) {
        Class clazz = resourceInfo.getResourceClass();
        if (clazz != null)
            return ClassUtils.toString(clazz, resourceInfo.getResourceMethod());
    }
    return null;
}
 
源代码6 项目: ameba   文件: EbeanUtils.java
/**
 * <p>checkQuery.</p>
 *
 * @param query     a {@link io.ebean.Query} object.
 * @param whitelist a {@link java.util.Set} object.
 * @param blacklist a {@link java.util.Set} object.
 * @param manager   a {@link InjectionManager} object.
 */
public static void checkQuery(Query<?> query, Set<String> whitelist,
                              Set<String> blacklist, InjectionManager manager) {
    ResourceInfo resource = manager.getInstance(ResourceInfo.class);
    Class<?> rc = resource.getResourceClass();
    Set<String> wl = null, bl = null;
    if (rc != null) {
        Filter filter = rc.getAnnotation(Filter.class);

        if (filter != null) {
            if (filter.whitelist().length > 0) {
                wl = Sets.newLinkedHashSet();
                Collections.addAll(wl, filter.whitelist());
            }
            if (filter.blacklist().length > 0) {
                bl = Sets.newLinkedHashSet();
                Collections.addAll(bl, filter.blacklist());
            }
        }
    }

    if (whitelist != null) {
        if (wl == null) {
            wl = Sets.newLinkedHashSet();
        }
        wl.addAll(whitelist);
    }

    if (blacklist != null) {
        if (bl == null) {
            bl = Sets.newLinkedHashSet();
        }
        bl.addAll(blacklist);
    }
    checkQuery((SpiQuery) query, wl, bl, manager.getInstance(Application.Mode.class).isProd());
}
 
源代码7 项目: ameba   文件: DataViewMessageBodyWriter.java
/** {@inheritDoc} */
@Override
public void writeTo(final Object entity,
                    final Class<?> type,
                    final Type genericType,
                    final Annotation[] annotations,
                    MediaType mediaType,
                    final MultivaluedMap<String, Object> httpHeaders,
                    final OutputStream entityStream) throws IOException, WebApplicationException {
    if (mediaType == null
            || MediaTypes.isWildcard(mediaType)
            || (mediaType.getType().equals(LOW_IE_DEFAULT_REQ_TYPE.getType()) &&
            mediaType.getSubtype().equals(LOW_IE_DEFAULT_REQ_TYPE.getSubtype()))) {
        mediaType = MediaType.TEXT_HTML_TYPE;
    }

    List<String> templates = Lists.newArrayList();
    ResourceInfo resourceInfo = resourceInfoProvider.get();

    // 1. resource method name
    // 2. _protected/ + req path LOWER_UNDERSCORE
    // 3. _protected/ + req raw path
    // 4. req path LOWER_UNDERSCORE
    // 5. req raw path
    // 6. index
    // 7. default view

    if (resourceInfo != null && resourceInfo.getResourceMethod() != null) {
        templates.add(resourceInfo.getResourceMethod().getName());
    }
    // xxx/{a_b}.httl == xxx/{aB}.httl
    String path = getTemplatePath(uriInfoProvider.get());
    String _path = CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, path);
    if (!_path.equals(path)) {
        templates.add(Viewables.PROTECTED_DIR_PATH + _path);
    }
    templates.add(Viewables.PROTECTED_DIR_PATH + path);
    if (!_path.equals(path)) {
        templates.add(_path);
    }
    templates.add(path);
    templates.add("index");
    if (!defaultDataViewDisabled) {
        if (entity == null
                || (entity instanceof Collection
                && ((Collection) entity).size() == 0)
                || (entity.getClass().isArray()
                && Array.getLength(entity) == 0)) {
            templates.add(dataViewNull);
        } else if (isItem(entity)) {
            templates.add(dataViewItem);
        } else {
            templates.add(dataViewList);
        }
    }

    Class clazz = null;

    if (resourceInfo != null) {
        clazz = resourceInfo.getResourceClass();
    }
    if (clazz == null) {
        List<Object> res = uriInfoProvider.get().getMatchedResources();
        if (res != null && res.size() > 0) {
            clazz = res.get(0).getClass();
        }
    }
    if (clazz == null) {
        clazz = Ameba.class;
    }
    workersProvider.get().getMessageBodyWriter(
            ImplicitViewable.class,
            ImplicitViewable.class,
            annotations,
            mediaType)

            .writeTo(new ImplicitViewable(templates, entity, clazz),
                    ImplicitViewable.class,
                    ImplicitViewable.class,
                    annotations, mediaType,
                    httpHeaders, entityStream);
}
 
源代码8 项目: tomee   文件: ValidationInterceptorsFeature.java
@Override
public void configure(final ResourceInfo resourceInfo, final FeatureContext context) {

    final Class<?> resourceClass = resourceInfo.getResourceClass();

    final ValidationConstraints constraints = ValidationConstraints.of(resourceClass);

    if (constraints != null) {
        context.register(new ValidationInterceptor(resourceInfo, constraints));
    }

}