Package ma.glasnost.orika.property

Examples of ma.glasnost.orika.property.PropertyResolverStrategy


    }
 
  @Test
  public void testResolveMapKeys() {
     
      PropertyResolverStrategy propertyResolver = UtilityResolver.getDefaultPropertyResolverStrategy();
      Property namesFirst = propertyResolver.getProperty(PersonDto.class, "names['first']");
     
      Assert.assertNotNull(namesFirst);
      Assert.assertEquals(TypeFactory.valueOf(String.class), namesFirst.getType());
      Assert.assertNull(namesFirst.getContainer());
     
View Full Code Here


     * @param type the type for which to gather properties
     * @return the map of nested properties keyed by expression name
     */
    protected Map<String, Property> getPropertyExpressions(Type<?> type) {
       
        PropertyResolverStrategy propertyResolver = getPropertyResolver();
       
        Map<String, Property> properties = new HashMap<String, Property>();
        LinkedHashMap<String, Property> toProcess = new LinkedHashMap<String, Property>(propertyResolver.getProperties(type));
       
        if (type.isMap() || type.isList() || type.isArray()) {
            Property selfReferenceProperty =
                    new Property.Builder()
                        .name("").getter("").setter(" = %s").type(TypeFactory.valueOf(type))
                        .build((PropertyResolver) propertyResolver);
            toProcess.put("", selfReferenceProperty);
        }
       
        while (!toProcess.isEmpty()) {
           
            Entry<String, Property> entry = toProcess.entrySet().iterator().next();
            if (!entry.getKey().equals("class")) {
                Property owningProperty = entry.getValue();
                Type<?> propertyType = owningProperty.getType();
                if (!ClassUtil.isImmutable(propertyType)) {
                    Map<String, Property> props = propertyResolver.getProperties(propertyType);
                    if (propertyType.isMap()) {
                        Map<String, Property> valueProperties = getPropertyExpressions(propertyType.getNestedType(1));
                        for (Entry<String, Property> prop: valueProperties.entrySet()) {
                            Property elementProp = new NestedElementProperty(entry.getValue(), prop.getValue(), propertyResolver);
                            String key = entry.getKey() + PropertyResolver.ELEMENT_PROPERT_PREFIX + prop.getKey() + PropertyResolver.ELEMENT_PROPERT_SUFFIX;
View Full Code Here

   
    @Test
    public void testParameterizedPropertyUtil() {
       
        Type<?> t = new TypeBuilder<TestEntry<Holder<Long>, Holder<String>>>() {}.build();
        PropertyResolverStrategy propertyResolver = UtilityResolver.getDefaultPropertyResolverStrategy();
        Property p = propertyResolver.getNestedProperty(t, "key.held");
        Assert.assertEquals(p.getType().getRawType(), Long.class);
        Assert.assertEquals(p.getType(), TypeFactory.valueOf(Long.class));
       
        Map<String, Property> properties = propertyResolver.getProperties(t);
        Assert.assertTrue(properties.containsKey("key"));
        Assert.assertEquals(properties.get("key").getType(), new TypeBuilder<Holder<Long>>() {}.build());
    }
View Full Code Here

public class PropertiesTestCase {

  @Test
  public void testNestedProperty() {
    String np = "start.x";
    PropertyResolverStrategy propertyResolver = UtilityResolver.getDefaultPropertyResolverStrategy();
    NestedProperty p = propertyResolver.getNestedProperty(Line.class, np);

    Assert.assertEquals(Integer.TYPE, p.getRawType());
  }
View Full Code Here

TOP

Related Classes of ma.glasnost.orika.property.PropertyResolverStrategy

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.