if (fields.size() > 1)
throw new RuntimeException(TransformMessages.illegalNumberOfPageActivationContextHandlers(fields));
for (String fieldName : fields)
{
PageActivationContext annotation = transformation.getFieldAnnotation(fieldName,
PageActivationContext.class);
String fieldType = transformation.getFieldType(fieldName);
if (annotation.activate())
{
TransformMethodSignature activate
= new TransformMethodSignature(Modifier.PROTECTED | Modifier.FINAL, "void",
"onActivate",
new String[]{fieldType}, null);
transformation.addTransformedMethod(activate, fieldName + " = $1;");
}
if (annotation.passivate())
{
TransformMethodSignature passivate
= new TransformMethodSignature(Modifier.PROTECTED | Modifier.FINAL, "java.lang.Object",
"onPassivate",
null, null);