Package org.apache.tapestry

Examples of org.apache.tapestry.PropertyConduit


        return _beanType;
    }

    public PropertyModel add(String propertyName)
    {
        PropertyConduit conduit = createConduit(propertyName);

        return add(propertyName, conduit);
    }
View Full Code Here


    }

    public PropertyModel add(RelativePosition position, String existingPropertyName,
            String propertyName)
    {
        PropertyConduit conduit = createConduit(propertyName);

        return add(position, existingPropertyName, propertyName, conduit);
    }
View Full Code Here

        Class effectiveClass = toEffectiveClass(rootClass);

        MultiKey key = new MultiKey(effectiveClass, expression);

        PropertyConduit result = _cache.get(key);

        if (result == null)
        {
            result = build(effectiveClass, expression);
            _cache.put(key, result);
View Full Code Here

    @SuppressWarnings("unchecked")
    public void prepare(int startIndex, int endIndex, PropertyModel sortModel, final boolean ascending)
    {
        if (sortModel == null) return;

        final PropertyConduit conduit = sortModel.getConduit();

        final Comparator valueComparator = new Comparator<Comparable>()
        {
            public int compare(Comparable o1, Comparable o2)
            {
                // Simplify comparison, and handle case where both are nulls.

                if (o1 == o2) return 0;

                if (o2 == null) return 1;

                if (o1 == null) return -1;

                return o1.compareTo(o2);
            }
        };

        final Comparator rowComparator = new Comparator()
        {
            public int compare(Object row1, Object row2)
            {
                Comparable value1 = (Comparable) conduit.get(row1);
                Comparable value2 = (Comparable) conduit.get(row2);

                return valueComparator.compare(value1, value2);
            }
        };
View Full Code Here

        Class effectiveClass = toEffectiveClass(rootClass);

        MultiKey key = new MultiKey(effectiveClass, expression);

        PropertyConduit result = _cache.get(key);

        if (result == null)
        {
            result = build(effectiveClass, expression);
            _cache.put(key, result);
View Full Code Here

        assertEquals(firstName.getDataType(), "text");
        assertEquals(firstName.getWidth(), 0);

        assertEquals(model.get("lastName").getLabel(), "Last Name");

        PropertyConduit conduit = model.get("lastName").getConduit();

        SimpleBean instance = new SimpleBean();

        instance.setLastName("Lewis Ship");

        assertEquals(conduit.get(instance), "Lewis Ship");

        conduit.set(instance, "TapestryDude");

        assertEquals(instance.getLastName(), "TapestryDude");

        // Now, one with some type coercion.
View Full Code Here

    @Test
    public void add_before()
    {
        ComponentResources resources = mockComponentResources();
        Messages messages = mockMessages();
        PropertyConduit conduit = mockPropertyConduit();

        Class propertyType = String.class;

        train_getMessages(resources, messages);
        stub_contains(messages, false);

        expect(conduit.getPropertyType()).andReturn(propertyType).atLeastOnce();
        expect(conduit.getAnnotation(EasyMock.isA(Class.class))).andStubReturn(null);

        replay();

        BeanModel model = _source.create(SimpleBean.class, true, resources);
View Full Code Here

    @Test
    public void add_after()
    {
        ComponentResources resources = mockComponentResources();
        Messages messages = mockMessages();
        PropertyConduit conduit = mockPropertyConduit();

        Class propertyType = String.class;

        train_getMessages(resources, messages);
        stub_contains(messages, false);

        expect(conduit.getPropertyType()).andReturn(propertyType).atLeastOnce();

        expect(conduit.getAnnotation(EasyMock.isA(Class.class))).andStubReturn(null);

        replay();

        BeanModel model = _source.create(SimpleBean.class, true, resources);
View Full Code Here

        String[] value = {"foo", "bar"};

        StringArrayBean bean = new StringArrayBean();

        PropertyConduit conduit = propertyModel.getConduit();

        conduit.set(bean, value);

        assertSame(bean.getArray(), value);

        assertSame(conduit.get(bean), value);

        verify();
    }
View Full Code Here

    }

    @Test
    public void question_dot_operator_for_object_type()
    {
        PropertyConduit normal = _source.create(CompositeBean.class, "simple.firstName");
        PropertyConduit smart = _source.create(CompositeBean.class, "simple?.firstName");

        CompositeBean bean = new CompositeBean();
        bean.setSimple(null);

        try
        {
            normal.get(bean);
            unreachable();
        }
        catch (NullPointerException ex)
        {
            // Expected.
        }

        assertNull(smart.get(bean));

        try
        {
            normal.set(bean, "Howard");
            unreachable();
        }
        catch (NullPointerException ex)
        {
            // Expected.
        }

        // This will be a no-op due to the null property in the expression

        smart.set(bean, "Howard");
    }
View Full Code Here

TOP

Related Classes of org.apache.tapestry.PropertyConduit

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.