Are you proposing the use of "databinding." the package name for the annotations or does that have some significance? If it is just a package name, I'd assume we would want a fully qualified one. If this is the case, then an interesting question comes up - which one to use. Since these are extensions, I don't think we should allow the use of "Tuscany" for data binding extensions not provided by the project. Also, if we go this route, we'll need annotation processors for each annotation.

Another option may be to define a generic "databinding" annotation such as:

@Target({METHOD})
@Retention(RUNTIME)
public @interface Databinding {

    String type() default "";

}

Individual extensions would supply a value for type (its too bad enums can't be extended). There would be one annotation processor which would handle the decoration of the model. What do you think?

Also, some quick questions inline:

On Aug 21, 2006, at 10:45 AM, Raymond Feng wrote:

Hi,

For the data transformation to be handled by a databinding interceptor, let's assume we have the following case:

* The source side uses SDO.

   <import.sdo location="xsd/customer.xsd"/>
int getCreditScore(@databinding.sdo(namespace="http://customer"; name="Customer")Customer customer);

Is data binding definable per param, with the possibility to mix or do we want to just say for the entire method (mixing seems kind of strange). Also, what about the return value? Maybe it would be better to place the param only on the method?


* The target side uses JAXB.

   int getCreditScore(@databinding.jaxb Customer customer);

Then the interceptor will require the following information:

1) DataType on the source side (SDO Customer)
2) A "commonj.sdo.TypeHelper" associated with the current composite that will provide the SDO type system
3) DataType on the target side (JAXB Customer)
4) (some JAXB context for the JAXB Customer?)

Thanks,
Raymond

----- Original Message ----- From: "Jim Marino" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Saturday, August 19, 2006 5:24 PM
Subject: Re: adding an interceptor




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to