in dv/src/main/java/org/apache/cxf/xjc/dv/DefaultValuePlugin.java [442:477]
private void updateGetter(ClassOutline co, FieldOutline fo,
JDefinedClass dc, JExpression dvExpr,
boolean remapRet) {
String fieldName = fo.getPropertyInfo().getName(false);
JType type = fo.getRawType();
String typeName = type.fullName();
String getterName = ("java.lang.Boolean".equals(typeName) ? "is" : "get")
+ fo.getPropertyInfo().getName(true);
JMethod method = dc.getMethod(getterName, new JType[0]);
JDocComment doc = method.javadoc();
int mods = method.mods().getValue();
JType mtype = method.type();
if (remapRet) {
mtype = mtype.unboxify();
}
if (LOG.isLoggable(Level.FINE)) {
LOG.fine("Updating getter: " + getterName);
}
// remove existing method and define new one
dc.methods().remove(method);
method = dc.method(mods, mtype, getterName);
method.javadoc().append(doc);
JFieldRef fr = JExpr.ref(fieldName);
if (dvExpr != null) {
JExpression test = JOp.eq(JExpr._null(), fr);
JConditional jc = method.body()._if(test);
jc._then()._return(dvExpr);
}
method.body()._return(fr);
}