Package org.apache.tapestry.ioc.services

Examples of org.apache.tapestry.ioc.services.PropertyAdapter


    @Test
    public void property_adapter_read_only_property()
    {
        ClassPropertyAdapter cpa = _access.getAdapter(Bean.class);
        PropertyAdapter pa = cpa.getPropertyAdapter("readOnly");

        assertTrue(pa.isRead());
        assertFalse(pa.isUpdate());

        assertNull(pa.getWriteMethod());
        assertEquals(pa.getReadMethod(), findMethod(Bean.class, "getReadOnly"));
    }
View Full Code Here


    @Test
    public void property_adapter_write_only_property()
    {
        ClassPropertyAdapter cpa = _access.getAdapter(Bean.class);
        PropertyAdapter pa = cpa.getPropertyAdapter("writeOnly");

        assertFalse(pa.isRead());
        assertTrue(pa.isUpdate());

        assertEquals(pa.getWriteMethod(), findMethod(Bean.class, "setWriteOnly"));
        assertNull(pa.getReadMethod());
    }
View Full Code Here

    }

    @Test
    public void get_annotation_when_annotation_not_present()
    {
        PropertyAdapter pa = _access.getAdapter(AnnotatedBean.class)
                .getPropertyAdapter("readWrite");

        assertNull(pa.getAnnotation(Lifecycle.class));
    }
View Full Code Here

    }

    @Test
    public void get_annotation_with_annotation_on_write_method()
    {
        PropertyAdapter pa = _access.getAdapter(AnnotatedBean.class).getPropertyAdapter(
                "annotationOnWrite");

        Lifecycle annotation = pa.getAnnotation(Lifecycle.class);
        assertNotNull(annotation);

        assertEquals(annotation.value(), "onwrite");
    }
View Full Code Here

    }

    @Test
    public void read_method_annotation_overrides_write_method_annotation()
    {
        PropertyAdapter pa = _access.getAdapter(AnnotatedBean.class).getPropertyAdapter(
                "annotationOnRead");

        Lifecycle annotation = pa.getAnnotation(Lifecycle.class);
        assertNotNull(annotation);

        assertEquals(annotation.value(), "onread");
    }
View Full Code Here

    }

    @Test
    public void no_write_method_reading_missing_annotation()
    {
        PropertyAdapter pa = _access.getAdapter(AnnotatedBean.class).getPropertyAdapter("readOnly");

        assertNull(pa.getAnnotation(Lifecycle.class));
    }
View Full Code Here

        List<PropertyOrder> properties = newList();

        for (String name : propertyNames)
        {

            PropertyAdapter pa = classAdapter.getPropertyAdapter(name);
            List<String> propertyConstraints = CollectionFactory.newList();

            OrderBefore beforeAnnotation = pa.getAnnotation(OrderBefore.class);

            if (beforeAnnotation != null) propertyConstraints.add("before:" + beforeAnnotation.value());

            OrderAfter afterAnnotation = pa.getAnnotation(OrderAfter.class);

            if (afterAnnotation != null) propertyConstraints.add("after:" + afterAnnotation.value());

            if (!propertyConstraints.isEmpty()) constraints.put(name, propertyConstraints);

            Method readMethod = pa.getReadMethod();

            Location location = classFactory.getMethodLocation(readMethod);

            properties.add(new PropertyOrder(name, computeDepth(readMethod), location.getLine()));
        }
View Full Code Here

    {
        List<PropertyOrder> properties = newList();

        for (String name : propertyNames)
        {
            PropertyAdapter pa = classAdapter.getPropertyAdapter(name);

            if (pa.getAnnotation(Order.class) != null) continue;

            Method readMethod = pa.getReadMethod();

            Location location = classFactory.getMethodLocation(readMethod);

            properties.add(new PropertyOrder(name, computeDepth(readMethod), location.getLine()));
        }
View Full Code Here

    private Method writeMethodForTerm(Class activeType, String expression, String term)
    {
        if (term.endsWith(PARENS)) return null;

        PropertyAdapter adapter = _access.getAdapter(activeType).getPropertyAdapter(term);

        if (adapter == null)
            throw new RuntimeException(ServicesMessages
                    .noSuchProperty(activeType, term, expression));

        return adapter.getWriteMethod();
    }
View Full Code Here

                        expression));

            return method;
        }

        PropertyAdapter adapter = _access.getAdapter(activeType).getPropertyAdapter(term);

        if (adapter == null)
            throw new RuntimeException(ServicesMessages
                    .noSuchProperty(activeType, term, expression));

        Method m = adapter.getReadMethod();

        if (m == null && mustExist)
            throw new RuntimeException(ServicesMessages.writeOnlyProperty(
                    term,
                    activeType,
View Full Code Here

TOP

Related Classes of org.apache.tapestry.ioc.services.PropertyAdapter

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.