I'm not trying to handle all cases under the sun. But... we've chosen NOT
to use an XML Schema based XML IO framework (like JAXB or Jackson), instead
we've invented our own. I know we do JSON as well, but so does Jackson and
it likely also has a plugin for YAML. So now, every time I'm looking for
some minor improvement, it means tweaking our custom framework or adding
boilerplate code to plugins. It's a pain, but that's where we are today. At
least now, with the new type converters, I get the type conversion from to
int for free :-)

In this case, I meant, you can only use attribute A or B.

It is probably worth stepping back and looking at the big picture and
whether we want to invest in improving the current config IO framework or
at least consider if Jackson would be a better fit. Likely not for 2.0 ;-)

Gary


On Mon, Jun 2, 2014 at 4:03 AM, Ralph Goers <rgo...@apache.org> wrote:

> Are you looking for annotations to handle every kind of thing you might
> like to do instead of just putting a couple lines of code in the factory
> method? I would have handled this by saying foo and bar both need to be
> Integer and then adding a line do code that insures exactly one, or at most
> one, is present ( depending on what you want ).
>
> I really have no idea what it means for an attribute or element to be in a
> "choice". Does it mean at most one is specified or exactly one? What if I
> want exactly one in some cases and at most one in others?
>
> Ralph
>
> On Jun 1, 2014, at 11:53 PM, Gary Gregory <garydgreg...@gmail.com> wrote:
>
> How do I tell my plugin that it can have attribute1 or 2, but not both?
> IOW I want the config framework to do the validation for me.
>
> How about:
>
>
> @PluginAttribute(choice="group1") int foo,
>
> @PluginAttribute(choice="group1") int bar
>
> Same thing for elements.
>
> Thoughts?
>
> Gary
>
> --
> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> Java Persistence with Hibernate, Second Edition
> <http://www.manning.com/bauer3/>
> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> Spring Batch in Action <http://www.manning.com/templier/>
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>
>


-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
Java Persistence with Hibernate, Second Edition
<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to