// service implementation.
classFab.addField("_inner", getConfigurationType());
classFab.addMethod(
Modifier.PUBLIC | Modifier.SYNCHRONIZED | Modifier.FINAL,
new MethodSignature(void.class, "_setInner", new Class[]
{ getConfigurationType() }, null),
"{ _inner = $1; }");
BodyBuilder builder = new BodyBuilder();
builder.begin();
builder.addln("return _inner;");
builder.end();
classFab.addMethod(Modifier.PRIVATE, new MethodSignature(getConfigurationType(), "_getInner",
null, null), builder.toString());
proxyBuilder.addServiceMethods("_getInner()", false);
// The toString calls the toString method of the configuration if it is
// created already
// TODO: Implement like described
// String proxyToStringMessage = "<LazyConstructionProxy for "
// + getExtensionPointId() + "(" + configurationInterface.getName() + ")>";
builder.clear();
builder.begin();
builder.addln(" return _inner.toString();");
builder.end();
MethodSignature toStringSignature = new MethodSignature(String.class, "toString", null,
null);
if (!classFab.containsMethod(toStringSignature)) {
classFab.addMethod(Modifier.PUBLIC, toStringSignature, builder.toString());
}