In my bxml, I defined a TextInputContentListener method for
previewInsertText in script.  The method was getting invoked, but my
returned Vote seemed to get ignored.  Stepping through the code, I found
that BXMLSerializer never assigns the result variable and ignores the
returned value when the method is specified as an attribute but not when
it's a child element.  Is there a reason for this, or is this a bug?

I'm using 2.0.4, but the same code is in trunk

BXMLSerializer:

inner class AttributeInvocationHandler, method invoke(Object proxy,
Method method, Object[] args)

....

   // If the function didn't return a value, return the default
   Class<?> returnType = method.getReturnType();
   if (returnType == Vote.class) {
       result = Vote.APPROVE;
   } else if (returnType == Boolean.TYPE) {
       result = false;
   }

   return result;


inner class ElementInvocationHandler, method invoke(Object proxy,
Method method, Object[] args)

.....

   // If the function didn't return a value, return the default   if
(result == null) {
      Class<?> returnType = method.getReturnType();
      if (returnType == Vote.class) {
         result = Vote.APPROVE;
      } else if (returnType == Boolean.TYPE) {
         result = false;
      }
   }

   return result;


Thanks,

Josh
  • [no subject] Josh Highley
    • RE: Roger Whitcomb

Reply via email to