Package com.sun.jersey.api.model

Examples of com.sun.jersey.api.model.Parameter


                // element.
                // The problem here is that (1) we don't have the original program
                // element any more and (2) a single DiscoveredParameter may have
                // been encountered in multiple places with different annotations
               
                Parameter jerseyParameter = new Parameter(
                                                    new Annotation[]{ annotation },
                                                    annotation,
                                                    paramQualifiersMap.get(annotation.annotationType()),
                                                    parameter.getValue(),
                                                    parameter.getType(),
View Full Code Here


            return null;
        }

        boolean hasFormParam = false;
        for (int i = 0; i < method.getParameters().size(); i++) {
            Parameter parameter = method.getParameters().get(i);
            if (parameter.getAnnotation() != null)
                hasFormParam |= parameter.getAnnotation().annotationType() == FormDataParam.class;
        }
        if (!hasFormParam)
            return null;

        return new FormDataInjectableValuesProvider(getInjectables(method));
View Full Code Here

    }

    private List<Injectable> getInjectables(AbstractResourceMethod method) {
        List<Injectable> list = new ArrayList<Injectable>(method.getParameters().size());
        for (int i = 0; i < method.getParameters().size(); i++) {
            Parameter p = method.getParameters().get(i);
            if (Parameter.Source.ENTITY == p.getSource()) {
                if (FormDataMultiPart.class.isAssignableFrom(p.getParameterClass())) {
                    list.add(new FormDataMultiPartInjectable());
                } else {
                    list.add(null);
                }
            } else if (p.getAnnotation().annotationType() == FormDataParam.class) {
                if (Collection.class == p.getParameterClass() || List.class == p.getParameterClass()) {
                    Class c = ReflectionHelper.getGenericClass(p.getParameterType());
                    if (FormDataBodyPart.class == c) {
                        list.add(new ListFormDataBodyPartMultiPartInjectable(p.getSourceName()));
                    } else if (FormDataContentDisposition.class == c) {
                        list.add(new ListFormDataContentDispositionMultiPartInjectable(p.getSourceName()));
                    }
                } else if (FormDataBodyPart.class == p.getParameterClass()) {
                    list.add(new FormDataBodyPartMultiPartInjectable(p.getSourceName()));
                } else if (FormDataContentDisposition.class == p.getParameterClass()) {
                    list.add(new FormDataContentDispositionMultiPartInjectable(p.getSourceName()));
                } else {
                    list.add(new FormDataMultiPartParamInjectable(p));
                }
            } else {
                Injectable injectable = getInjectableProviderContext().getInjectable(p, ComponentScope.PerRequest);
View Full Code Here

        Annotation[][] parameterAnnotations = processMethod.getParameterAnnotations();
        int idx = 0;
        createParameterMethod.setAccessible(true);
        Object value = createParameterMethod.invoke(null, declaring, declaring, isEncoded, String.class, parameterTypes[idx], parameterAnnotations[idx]);
        assertTrue("Should return a Parameter but found " + value, value instanceof Parameter);
        Parameter parameter = (Parameter) value;
        assertEquals("id", parameter.getSourceName());
    }
View Full Code Here

            return null;
        }
       
        boolean hasFormParam = false;
        for (int i = 0; i < method.getParameters().size(); i++) {
            Parameter parameter = method.getParameters().get(i);
            if (parameter.getAnnotation() != null)
                hasFormParam |= parameter.getAnnotation().annotationType() == FormParam.class;           
        }
        if (!hasFormParam)
            return null;
       
        return getInjectables(method);
View Full Code Here

    }

    protected List<Injectable> getInjectables(AbstractResourceMethod method) {
        List<Injectable> is = new ArrayList<Injectable>(method.getParameters().size());
        for (int i = 0; i < method.getParameters().size(); i++) {
            Parameter p = method.getParameters().get(i);
           
            if (Parameter.Source.ENTITY == p.getSource()) {
                if (MultivaluedMap.class.isAssignableFrom(p.getParameterClass())) {
                    is.add(new FormEntityInjectable(p.getParameterClass(),
                            p.getParameterType(), p.getAnnotations()));
                } else
                    is.add(null);
            } else {
                Injectable injectable = getInjectableProviderContext().
                        getInjectable(method.getMethod(), p, ComponentScope.PerRequest);
View Full Code Here

        }

        boolean hasEntity = false;
        final List<Injectable> is = new ArrayList<Injectable>(method.getParameters().size());
        for (int i = 0; i < method.getParameters().size(); i++) {
            final Parameter parameter = method.getParameters().get(i);
           
            if (Parameter.Source.ENTITY == parameter.getSource()) {
                hasEntity = true;
                is.add(processEntityParameter(
                        parameter,
                        method.getMethod().getParameterAnnotations()[i]));
            } else {
                is.add(getInjectableProviderContext().
                        getInjectable(method.getMethod(), parameter, ComponentScope.PerRequest));
            }
        }

        if (hasEntity)
            return is;

        // Try to find entity if there is one unresolved parameter and
        // the annotations are unknown
        if (Collections.frequency(is, null) == 1) {
            final int i = is.lastIndexOf(null);
            final Parameter parameter = method.getParameters().get(i);
            if (Parameter.Source.UNKNOWN == parameter.getSource()) {
                if (!parameter.isQualified()) {
                    final Injectable ij = processEntityParameter(
                        parameter,
                        method.getMethod().getParameterAnnotations()[i]);
                    is.set(i, ij);
                }
View Full Code Here

    }
       
    @Override
    protected List<Injectable> getInjectables(AbstractResourceMethod method) {
        for (int i = 0; i < method.getParameters().size(); i++) {
            Parameter p = method.getParameters().get(i);
           
             if (p.getAnnotation().annotationType() == FormParam.class) {
                LOGGER.severe("Resource methods utilizing @FormParam "
                        + "and consuming \"multipart/form-data\" are no longer supported. See @FormDataParam.");
            }
        }
        return null;
View Full Code Here

       
        while (c != Object.class) {
             for (final Field f : c.getDeclaredFields()) {
                if (f.getDeclaredAnnotations().length > 0) {
                    final AbstractField af = new AbstractField(f);
                    Parameter p = createParameter(
                            resource.getResourceClass(),
                            f.getDeclaringClass(),
                            isEncoded,
                            f.getType(),
                            f.getGenericType(),
View Full Code Here

                hasNumParams(1).
                hasReturnType(void.class).
                nameStartsWith("set")) {
           
            final AbstractSetterMethod asm = new AbstractSetterMethod(resource, m.getMethod(), m.getAnnotations());
            Parameter p = createParameter(
                    resource.getResourceClass(),
                    m.getMethod().getDeclaringClass(),
                    isEncoded,
                    m.getParameterTypes()[0],
                    m.getGenericParameterTypes()[0],
View Full Code Here

TOP

Related Classes of com.sun.jersey.api.model.Parameter

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.