Example usage for javax.lang.model.element ExecutableElement getAnnotation

List of usage examples for javax.lang.model.element ExecutableElement getAnnotation

Introduction

In this page you can find the example usage for javax.lang.model.element ExecutableElement getAnnotation.

Prototype

@Override
<A extends Annotation> A getAnnotation(Class<A> annotationType);

Source Link

Usage

From source file:org.leandreck.endpoints.processor.model.MethodNodeFactory.java

private static boolean defineIgnored(final ExecutableElement methodElement,
        final RequestMapping requestMapping) {
    boolean hasIgnoreAnnotation = methodElement.getAnnotation(TypeScriptIgnore.class) != null;
    boolean hasRequestMappingAnnotation = requestMapping != null;
    boolean producesJson = hasRequestMappingAnnotation && Arrays.stream(requestMapping.produces())
            .map(value -> value.startsWith(MediaType.APPLICATION_JSON_VALUE)).reduce(false, (a, b) -> a || b);

    boolean isPublic = methodElement.getModifiers().contains(Modifier.PUBLIC);
    return hasIgnoreAnnotation || !isPublic || !hasRequestMappingAnnotation || !producesJson;
}

From source file:cop.raml.processor.rest.SpringRestImpl.java

private static String getMethodRequestPath(ExecutableElement methodElement) {
    if (methodElement == null)
        return null;

    RequestMapping annotation = methodElement.getAnnotation(RequestMapping.class);

    if (annotation != null) {
        // TODO multiple values are not supported now
        if (ArrayUtils.isNotEmpty(annotation.value()))
            return annotation.value()[0];
        if (ArrayUtils.isNotEmpty(annotation.path()))
            return annotation.path()[0];
    }/*ww  w .  j av a 2s  . c  o  m*/

    return null;
}

From source file:org.mule.devkit.module.generation.NamespaceHandlerGenerator.java

private void registerBeanDefinitionParserForEachSource(Element type, Method init) {
    List<ExecutableElement> executableElements = ElementFilter.methodsIn(type.getEnclosedElements());
    for (ExecutableElement executableElement : executableElements) {
        Source source = executableElement.getAnnotation(Source.class);

        if (source == null)
            continue;

        registerBeanDefinitionParserForSource(init, executableElement);
    }//from   w ww. j av a  2  s.  c o m
}

From source file:org.mule.devkit.module.generation.NamespaceHandlerGenerator.java

private void registerBeanDefinitionParserForEachProcessor(Element type, Method init) {
    List<ExecutableElement> executableElements = ElementFilter.methodsIn(type.getEnclosedElements());
    for (ExecutableElement executableElement : executableElements) {
        Processor processor = executableElement.getAnnotation(Processor.class);

        if (processor == null)
            continue;

        registerBeanDefinitionParserForProcessor(init, executableElement);
    }//from w ww.  ja v  a2  s.  co  m
}

From source file:org.mule.devkit.module.generation.NamespaceHandlerGenerator.java

private void registerBeanDefinitionParserForEachTransformer(Element type, Method init) {
    List<ExecutableElement> executableElements = ElementFilter.methodsIn(type.getEnclosedElements());
    for (ExecutableElement executableElement : executableElements) {
        Transformer transformer = executableElement.getAnnotation(Transformer.class);

        if (transformer == null)
            continue;

        Invocation registerMuleBeanDefinitionParser = init.body().invoke("registerBeanDefinitionParser");
        registerMuleBeanDefinitionParser.arg(ExpressionFactory
                .lit(context.getNameUtils().uncamel(executableElement.getSimpleName().toString())));
        String transformerClassName = context.getNameUtils().generateClassName(executableElement,
                "Transformer");
        transformerClassName = context.getNameUtils().getPackageName(transformerClassName) + ".config."
                + context.getNameUtils().getClassName(transformerClassName);
        registerMuleBeanDefinitionParser.arg(ExpressionFactory._new(ref(MessageProcessorDefinitionParser.class))
                .arg(ref(transformerClassName).boxify().dotclass()));
    }/*  w  w w . j a  v  a  2  s  .  com*/
}

From source file:cop.raml.processor.rest.SpringRestImpl.java

@Override
public String getRequestMethod(ExecutableElement methodElement) {
    RequestMapping annotation = methodElement.getAnnotation(RequestMapping.class);
    // TODO multiple values are not supported now
    return annotation != null && ArrayUtils.isNotEmpty(annotation.method()) ? annotation.method()[0].name()
            : null;/*w ww  .ja v a  2  s  .  co m*/
}

From source file:cop.raml.processor.rest.SpringRestImpl.java

@Override
protected String[] getConsumesMediaTypes(@NotNull ExecutableElement methodElement) {
    RequestMapping annotation = methodElement.getAnnotation(RequestMapping.class);
    String[] consumers = annotation != null ? annotation.consumes() : null;
    return ArrayUtils.isNotEmpty(consumers) ? consumers : null;
}

From source file:cop.raml.processor.rest.SpringRestImpl.java

@Override
protected String[] getProducesMediaTypes(@NotNull ExecutableElement methodElement) {
    RequestMapping annotation = methodElement.getAnnotation(RequestMapping.class);
    String[] produces = annotation != null ? annotation.produces() : null;
    return ArrayUtils.isNotEmpty(produces) ? produces : null;
}

From source file:org.mule.devkit.module.generation.NamespaceHandlerGenerator.java

private void registerBeanDefinitionParserForSource(Method init, ExecutableElement executableElement) {
    DefinedClass beanDefinitionParser = getBeanDefinitionParserClass(executableElement);

    Source source = executableElement.getAnnotation(Source.class);
    String elementName = executableElement.getSimpleName().toString();
    if (source.name().length() != 0)
        elementName = source.name();//from www.ja  v a 2s . c  o  m

    init.body().invoke("registerBeanDefinitionParser")
            .arg(ExpressionFactory.lit(context.getNameUtils().uncamel(elementName)))
            .arg(ExpressionFactory._new(beanDefinitionParser));
}

From source file:org.mule.devkit.module.generation.NamespaceHandlerGenerator.java

private void registerBeanDefinitionParserForProcessor(Method init, ExecutableElement executableElement) {
    DefinedClass beanDefinitionParser = getBeanDefinitionParserClass(executableElement);

    Processor processor = executableElement.getAnnotation(Processor.class);
    String elementName = executableElement.getSimpleName().toString();
    if (processor.name().length() != 0)
        elementName = processor.name();//  ww w.j ava 2s  .c om

    init.body().invoke("registerBeanDefinitionParser")
            .arg(ExpressionFactory.lit(context.getNameUtils().uncamel(elementName)))
            .arg(ExpressionFactory._new(beanDefinitionParser));
}