property = new Property.Builder().name("").getter("").setter(" = %s").type(TypeFactory.valueOf(type)).container(owner).build(this); } else if (isNestedPropertyExpression(expr) && !isElementPropertyExpression(expr)) { property = getNestedProperty(type, expr, owner); property = new Property.Builder().merge(property).container(owner).build();
final Property.Builder builder = new Property.Builder(); builder.expression(propertyName); builder.name(propertyName); builder.getter(readMethod.getName() + "()"); builder.setter(writeMethod.getName() + "(%s)"); builder.type(resolvePropertyType(readMethod, propertyType, owningType, referenceType)); Property property = builder.build(this); properties.put(propertyName, builder.build(this)); } else if (existing.getType().isAssignableFrom(property.getType()) && !existing.getType().equals(property.getType())) { properties.put(propertyName, builder.merge(existing).build(this));
Property.Builder.propertyFor(Element.class, "employment") .type(Element.class) .getter("getAttribute(\"employment\")") .setter("setAttribute(\"employment\", %s)"); builder.field(employment.nestedProperty("jobTitle") .type(new TypeBuilder<List<String>>(){}.build()) .getter("getAttribute(\"jobTitle\")") .setter("setAttribute(\"jobTitle\", %s)") , "jobTitles"); builder.field(employment.nestedProperty("salary") .type(Long.class) .getter("getAttribute(\"salary\")") .setter("setAttribute(\"salary\", %s)") , "salary"); Property.Builder.propertyFor(Element.class, "name") .type(Element.class) .getter("getAttribute(\"name\")") .setter("setAttribute(\"name\", %s)"); builder.field(name.nestedProperty("first") .type(String.class) .getter("getAttribute(\"first\")") .setter("setAttribute(\"first\", %s)") , "firstName"); builder.field(name.nestedProperty("last")
Property.Builder builder = collectedMethods.get(name); if (builder == null) { builder = new Property.Builder(TypeFactory.resolveValueOf(type, referenceType), name); collectedMethods.put(name, builder); builder.getter(m); } else { throw new IllegalStateException("the configured readMethod regex '" + readPattern + Property.Builder builder = collectedMethods.get(name); if (builder == null) { builder = new Property.Builder(TypeFactory.resolveValueOf(type, referenceType), name); collectedMethods.put(name, builder); builder.setter(m); } else { throw new IllegalStateException("the configured writeMethod regex '" + writePattern + Property property = entry.getValue().build(this); processProperty(property.getName(), property.getType().getRawType(), entry.getValue().getReadMethod(), entry.getValue().getWriteMethod(), type, referenceType, properties);
Property.Builder builder = collectedMethods.get(name); if (builder == null) { builder = new Property.Builder(TypeFactory.resolveValueOf(type, referenceType), name); collectedMethods.put(name, builder); builder.getter(m); } else { throw new IllegalStateException("the configured readMethod regex '" + readPattern + Property.Builder builder = collectedMethods.get(name); if (builder == null) { builder = new Property.Builder(TypeFactory.resolveValueOf(type, referenceType), name); collectedMethods.put(name, builder); builder.setter(m); } else { throw new IllegalStateException("the configured writeMethod regex '" + writePattern + Property property = entry.getValue().build(this); processProperty(property.getName(), property.getType().getRawType(), entry.getValue().getReadMethod(), entry.getValue().getWriteMethod(), type, referenceType, properties);
property = new Property.Builder().name("").getter("").setter(" = %s").type(TypeFactory.valueOf(type)).container(owner).build(this); } else if (isNestedPropertyExpression(expr) && !isElementPropertyExpression(expr)) { property = getNestedProperty(type, expr, owner); property = new Property.Builder().merge(property).container(owner).build();
final Property.Builder builder = new Property.Builder(); builder.expression(propertyName); builder.name(propertyName); builder.getter(readMethod.getName() + "()"); builder.setter(writeMethod.getName() + "(%s)"); builder.type(resolvePropertyType(readMethod, propertyType, owningType, referenceType)); property = builder.build(this); property = builder.merge(existing).build(this); properties.put(propertyName, property);
Property.Builder builder = new Property.Builder(theType, matcher.group(1)); if (matcher.group(2) != null) { builder.getter(matcher.group(2)); builder.setter(matcher.group(3)); builder.type(matcher.group(4)); return builder.build(this); } else { throw new IllegalArgumentException("'" + expr + "' is not a valid dynamic property expression");
Property.Builder builder = new Property.Builder(theType, matcher.group(1)); builder.getter(matcher.group(2)); builder.setter(matcher.group(3)); builder.type(matcher.group(4)); return builder.build(this); } else { throw new IllegalArgumentException("'" + expr + "' is not a valid dynamic property expression");
final Property.Builder builder = new Property.Builder(); builder.expression(f.getName()); builder.name(f.getName()); builder.type(genericType); } else { builder.type(TypeFactory.valueOf(rawType)); builder.setter(f.getName() + " = %s"); if (existing == null) { builder.getter(f.getName()); properties.put(f.getName(), builder.build(this)); } else if (existing.getSetter() == null) { builder.merge(existing); properties.put(f.getName(), builder.build(this));
final Property.Builder builder = new Property.Builder(); builder.expression(f.getName()); builder.name(f.getName()); builder.type(genericType); } else { builder.type(TypeFactory.valueOf(rawType)); builder.setter(f.getName() + " = %s"); builder.getter(f.getName()); properties.put(f.getName(), builder.build(this)); } else if (existing.getSetter() == null) { builder.merge(existing); properties.put(f.getName(), builder.build(this));
private boolean mapFields(Node currentNode, Node srcNode, StringBuilder out, SourceCodeContext code) { String srcName = srcNode.parent != null ? srcNode.parent.elementRef.name() : "source"; Property sp = innermostElement(currentNode.value.getSource()); Property srcProp = new Property.Builder().merge(sp).expression(innermostElement(currentNode.value.getSource()).getExpression()).build(); VariableRef s = new VariableRef(srcProp, srcName); Property dp = innermostElement(currentNode.value.getDestination()); Property dstProp = new Property.Builder().merge(dp).expression(innermostElement(currentNode.value.getDestination()).getExpression()).build(); String dstName = "destination"; if (currentNode.parent != null ) { dstName = currentNode.parent.elementRef.name(); } VariableRef d = new VariableRef(dstProp, dstName); Type<?> destType = currentNode.parent != null ? currentNode.parent.elementRef.type() : null; out.append(statement(code.mapFields(currentNode.value, s, d, destType, null))); return d.type().equals(currentNode.parent.elementRef.type()) && mapperFactory.getConverterFactory().canConvert(s.type(), d.type()); }
public static Builder propertyFor(String owningTypeDescriptor, String name) { return new Builder(TypeFactory.valueOf(owningTypeDescriptor), name); }
public static Builder propertyFor(Class<?> owningType, String name) { return new Builder(TypeFactory.valueOf(owningType), name); }
public static Builder propertyFor(Type<?> owningType, String name) { return new Builder(owningType, name); }
public Property build(PropertyResolver propertyResolver) { Property parentProperty = parent.build(propertyResolver); Property[] path; if (parentProperty instanceof NestedProperty) { path = ((NestedProperty)parentProperty).getPath(); System.arraycopy(path, 0, path, 0, path.length + 1); path[path.length-1] = parentProperty; } else { path = new Property[]{parentProperty}; } this.owningType = parentProperty.getType(); Property p = super.build(propertyResolver); return new NestedProperty("", p, path); }