javaee / metro-jax-ws

https://javaee.github.io/metro-jax-ws/
Other
132 stars 68 forks source link

Simpler WSDLGenerator/ParserExtension interfaces #73

Open glassfishrobot opened 18 years ago

glassfishrobot commented 18 years ago

The interfaces in question seem to be too fine-grained causing even simplest implementation to be rather verbose. Also such fine-grained interface is rather inflexible in terms of additional enhancements (with regard to backwards compatibility). I also do not understand the motivation which lead to decision to use abstract classes instead of interfaces.

Therefore I would suggest to switch the abstract classes into interfaces and replace fine-grained methods with single generic versions (WsdlObjectType is enumeration of all recognized WSDL object types, such as service, port, binding, binding operation, ...):

public interface WSDLGeneratorExtension { void start(WSDLGenExtnContext ctxt); void finish(WSDLGenExtnContext ctxt);

void addExtensionAfterOpeningTag(WsdlObjectType type, TypedXmlWriter wsdlObject, WSDLGenExtnContext ctxt); void addExtensionBeforClosingTag(WsdlObjectType type, TypedXmlWriter wsdlObject, WSDLGenExtnContext ctxt); }

public interface WSDLParserExtension { void start(WSDLParExtnContext ctxt); void finish(WSDLParExtnContext ctxt);

boolean parseExtension(WsdlObjectType type, WSDLExtensible wsdlObject, XMLStreamReader reader, WSDLParExtnContext ctxt); }

Knowing that this change may compromise backward compatibility, I would suggest we do it as soon as possible.

Environment

Operating System: All Platform: All

Affected Versions

[current]

glassfishrobot commented 18 years ago

Reported by m_potociar@java.net

glassfishrobot commented 18 years ago

Was assigned to jax-ws-issues

glassfishrobot commented 7 years ago

This issue was imported from java.net JIRA JAX_WS-73