/** * Convience for {@link #addln(String, Object[])}. */ public void addln(String pattern, Object arg0, Object arg1, Object arg2) { addln(pattern, new Object[] { arg0, arg1, arg2 }); }
/** * Convience for {@link #addln(String, Object[])} */ public void addln(String pattern, Object arg0) { addln(pattern, new Object[] { arg0 }); }
/** * Convience for {@link #addln(String, Object[])}. */ public void addln(String pattern, Object arg0, Object arg1) { addln(pattern, new Object[] { arg0, arg1 }); }
/** * Adds text to the current line then terminates the line. * * @param pattern * a string pattern, used with * {@link java.text.MessageFormat#format(java.lang.String, java.lang.Object[])} * @param arguments * arguments used witht the format string */ public void addln(String pattern, Object[] arguments) { addln(MessageFormat.format(pattern, arguments)); }
BodyBuilder createCacheMethod(MethodSignature sig, String cacheField) { BodyBuilder result = new BodyBuilder(); result.begin(); result.addln("if (this.{0}==null)", cacheField); result.addln("this.{0} = super.{1}($$);", cacheField, sig.getName()); result.addln("return this.{0};", cacheField); result.end(); return result; }
public void extendMethodImplementation(Class interfaceClass, MethodSignature methodSignature, String code) { addInterfaceIfNeeded(interfaceClass); BodyBuilder builder = (BodyBuilder) _incompleteMethods.get(methodSignature); if (builder == null) { builder = createIncompleteMethod(methodSignature); _incompleteMethods.put(methodSignature, builder); } builder.addln(code); }
public void extendMethodImplementation(Class interfaceClass, MethodSignature methodSignature, String code) { addInterfaceIfNeeded(interfaceClass); BodyBuilder builder = (BodyBuilder) _incompleteMethods.get(methodSignature); if (builder == null) { builder = createIncompleteMethod(methodSignature); _incompleteMethods.put(methodSignature, builder); } builder.addln(code); }
private void addPrimitive(EnhancementOperation op, String metaKey, String propertyName, MethodSignature sig, String sourceName, String parser, Location location) { BodyBuilder builder = new BodyBuilder(); builder.begin(); builder.addln("java.lang.String meta = {0}.getComponentProperty(this, \"{1}\");", sourceName, metaKey); builder.addln("return {0}(meta);", parser); builder.end(); op.addMethod(Modifier.PUBLIC, sig, builder.toString(), location); }
private void addCharacterPrimitive(EnhancementOperation op, String metaKey, String propertyName, MethodSignature sig, String sourceName, Location location) { BodyBuilder builder = new BodyBuilder(); builder.begin(); builder.addln( "java.lang.String meta = {0}.getComponentProperty(this, \"{1}\");", sourceName, metaKey); builder.addln("return meta.charAt(0);"); builder.end(); op.addMethod(Modifier.PUBLIC, sig, builder.toString(), location); }
private void addPrimitive(EnhancementOperation op, String metaKey, String propertyName, MethodSignature sig, String sourceName, String parser, Location location) { BodyBuilder builder = new BodyBuilder(); builder.begin(); builder.addln("java.lang.String meta = {0}.getComponentProperty(this, \"{1}\");", sourceName, metaKey); builder.addln("return {0}(meta);", parser); builder.end(); op.addMethod(Modifier.PUBLIC, sig, builder.toString(), location); }
private void addBoolean(EnhancementOperation op, String metaKey, String propertyName, MethodSignature sig, String sourceName, Location location) { BodyBuilder builder = new BodyBuilder(); builder.begin(); builder.addln( "java.lang.String meta = {0}.getComponentProperty(this, \"{1}\");", sourceName, metaKey); builder.addln("return java.lang.Boolean.valueOf(meta).booleanValue();"); builder.end(); op.addMethod(Modifier.PUBLIC, sig, builder.toString(), location); }
private void addBoolean(EnhancementOperation op, String metaKey, String propertyName, MethodSignature sig, String sourceName, Location location) { BodyBuilder builder = new BodyBuilder(); builder.begin(); builder.addln( "java.lang.String meta = {0}.getComponentProperty(this, \"{1}\");", sourceName, metaKey); builder.addln("return java.lang.Boolean.valueOf(meta).booleanValue();"); builder.end(); op.addMethod(Modifier.PUBLIC, sig, builder.toString(), location); }
private void addCharacterPrimitive(EnhancementOperation op, String metaKey, String propertyName, MethodSignature sig, String sourceName, Location location) { BodyBuilder builder = new BodyBuilder(); builder.begin(); builder.addln( "java.lang.String meta = {0}.getComponentProperty(this, \"{1}\");", sourceName, metaKey); builder.addln("return meta.charAt(0);"); builder.end(); op.addMethod(Modifier.PUBLIC, sig, builder.toString(), location); }
void extendCleanupAfterRender(EnhancementOperation op, String fieldName) { BodyBuilder cleanupBody = new BodyBuilder(); cleanupBody.addln("{0} = null;", fieldName); op.extendMethodImplementation(IComponent.class, EnhanceUtils.CLEANUP_AFTER_RENDER_SIGNATURE, cleanupBody.toString()); } }
public void injectMessages(EnhancementOperation op, Location location) { Defense.notNull(op, "op"); op.claimReadonlyProperty(_messagesProperty); String sourceField = op.addInjectedField( "_$componentMessagesSource", ComponentMessagesSource.class, _componentMessagesSource); op.addField("_$messages", Messages.class); BodyBuilder builder = new BodyBuilder(); builder.begin(); builder.addln("if (_$messages == null)"); builder.addln(" _$messages = {0}.getMessages(this);", sourceField); builder.addln("return _$messages;"); builder.end(); op.addMethod(Modifier.PUBLIC, _methodSignature, builder.toString(), location); }
private BodyBuilder createIncompleteMethod(MethodSignature sig) { BodyBuilder result = new BodyBuilder(); // Matched inside finalizeIncompleteMethods() result.begin(); if (existingImplementation(sig)) result.addln("super.{0}($$);", sig.getName()); return result; }
private BodyBuilder createIncompleteMethod(MethodSignature sig) { BodyBuilder result = new BodyBuilder(); // Matched inside finalizeIncompleteMethods() result.begin(); if (existingImplementation(sig)) result.addln("super.{0}($$);", sig.getName()); return result; }
private void addObject(EnhancementOperation op, String metaKey, String propertyName, Class propertyType, MethodSignature sig, String sourceName, Location location) { String valueConverterName = op.addInjectedField("_$valueConverter", ValueConverter.class, _valueConverter); String classRef = op.getClassReference(propertyType); BodyBuilder builder = new BodyBuilder(); builder.begin(); builder.addln("java.lang.String meta = {0}.getComponentProperty(this, \"{1}\");", sourceName, metaKey); builder.addln("return ({0}) {1}.coerceValue(meta, {2});", ClassFabUtils .getJavaClassName(propertyType), valueConverterName, classRef); builder.end(); op.addMethod(Modifier.PUBLIC, sig, builder.toString(), location); }
private void addObject(EnhancementOperation op, String metaKey, String propertyName, Class propertyType, MethodSignature sig, String sourceName, Location location) { String valueConverterName = op.addInjectedField("_$valueConverter", ValueConverter.class, _valueConverter); String classRef = op.getClassReference(propertyType); BodyBuilder builder = new BodyBuilder(); builder.begin(); builder.addln("java.lang.String meta = {0}.getComponentProperty(this, \"{1}\");", sourceName, metaKey); builder.addln("return ({0}) {1}.coerceValue(meta, {2});", ClassFabUtils .getJavaClassName(propertyType), valueConverterName, classRef); builder.end(); op.addMethod(Modifier.PUBLIC, sig, builder.toString(), location); }
/** * Creates a method that delegates to the _delegate object; this is used for * methods that are not logged. */ private void addPassThruMethodImplementation(ClassFab classFab, MethodSignature sig) { BodyBuilder builder = new BodyBuilder(); builder.begin(); builder.add("return ($r) _delegate."); builder.add(sig.getName()); builder.addln("($$);"); builder.end(); classFab.addMethod(Modifier.PUBLIC, sig, builder.toString()); }