Hi Michael,

> The major benefits of this are:
> - simplifies code base, code maintenance and changes because we have
> only one "object model generator", i.e. the reflection processor.

You mean APT will never be used to build an object model at runtime any more ?
If so, it's really cool.

> Thanks for your code. I've had a look at it and have a question: Why do
> you differentiate between annotated and non-annotated methods? Could we
> just use one collection of all methods instead?

You're talking about the variable "methods" and "nonAnnotatedMethods" in 
WebServiceTYPEMetadata class, right ?

Sorry for confusing you.
I didn't mean to differentiate between annotated and non-annotated methods, 
but wanted to differentiate between publish and non-publish methods 
by Web Service.

(Only the methods annotated with @WebMethod in the service implementation bean 
will be published (exposed) according to JSR-181. On the other hand, all 
methods in the endpoint interface will be published no matter they're 
annotated or not.)

The variable "methods" is supposed to contain the methods annotated 
with @WebMethod in the service implementation bean and all methods in 
the endpoint interface.  
The methods in this variable will be pushlished.

The variable "nonAnnotatedMethods" is supposed to contain the the methods NOT
annotated with @WebMethod in the service implementation bean.
The methods in this variable will NOT be pushlished.

(As I told you before, the variable name "nonAnnotatedMethods" is not right.
it should be hiddenMethods or something like that.)

The nonAnnotatedMethods variable is used only for validation.

hm...while I'm writing this email right now, yeah I think one collection is 
fine...
:(

I'll rewrite the WebServiceTYPEMetadata and the 
WsmReflectionAnnotationProcessor.
( I won't modify apt.WsmAnnotationProcessor. it will be removed or wholly 
modified 
sooner or later, right ? )

Thank you for pointing out.

Wolfgang.



Reply via email to