OK, I implemented it. Check out latest from cvs.

Here is how you use it:

         <template templateFile="D:\Projects\xdoclet\mytemplate.j"
destinationFile="fool.html">
            <configParam name="MyCP" value="val"/>
         </emplate>

You may also use
subTaskClassName="com.lazycoders.xdoclet.subtasks.MyDearSubTask"
parameter and xdoclet will pick your subtask class instead of
TemplateSubTask.

Another enhancement is in config params themselves. Here is the
algorithm:

<XDtConfig:configParameterValue paramName="MyCP"

1- looks up MyCP in active subtask (subtask which invoked the template
file), picks it if defined there 2. looks up MyCP in DocletTask, picks
it if defined there

You can also use a new subtaskname prefixed format to access any config
param in any subtask, "dataobject.blabalParam" for example.
Unfortunately all user defined config params are limited to be of String
type.

<configParam/> is a nested element of both doclet task and nested
subtasks.

I also changed the way subtasks are looked up so if you define
MyDataObjectSubTask and derive it from xdoclet.ejb.DataObjectSubTask for
example, because getSubTaskName() returns "dataobject", then your class
is used instead of the original dataobject subtask!! This is really
cool, if you don't like the way a subtask works just derive from it,
override relevant methods and set your subtask with subTaskClassName
parameter!

Anyway, I hope I haven't broken anything :-)

Ara. 

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:xdoclet-user-
> [EMAIL PROTECTED]] On Behalf Of Erik Hatcher
> Sent: Thursday, January 17, 2002 6:21 PM
> To: Ara Abrahamian; [EMAIL PROTECTED]
> Subject: Re: [Xdoclet-user] Config params
> 
> I'm not up on the XDoclet API fully yet, so I can't really say for
sure,
> but
> that seems reasonable at first glance.
> 
> Does that mean I'd still have to write a subtask class to get a plain
> template to recognize the configuration parameters?  Shouldn't a bare
> bones
> template task be able to take advantage of config parameters too?
> 
> Thanks - all of you rock, I'm psyched about XDoclet, especially given
the
> superb and responsive developer community it has.
> 
>     Erik
> 
> 
> ----- Original Message -----
> From: "Ara Abrahamian" <[EMAIL PROTECTED]>
> To: "'Erik Hatcher'" <[EMAIL PROTECTED]>;
> <[EMAIL PROTECTED]>
> Sent: Thursday, January 17, 2002 9:39 AM
> Subject: RE: [Xdoclet-user] Config params
> 
> 
> > Good idea, so what do you think about this:
> >
> > <template subtaskClass="com.some.new.vendor.Impl" ...>
> > <config-param name="param" value="my value"/>
> > </template>
> >
> > OK?
> >
> > Ara.
> >
> > > -----Original Message-----
> > > From: [EMAIL PROTECTED]
[mailto:xdoclet-user-
> > > [EMAIL PROTECTED]] On Behalf Of Erik Hatcher
> > > Sent: Thursday, January 17, 2002 4:06 PM
> > > To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
> > > Subject: Re: [Xdoclet-user] Config params
> > >
> > > I gave it my best shot to get the IntrospectionHelper patch put
in,
> > but it
> > > did not get accepted unfortunately.  But, there are workarounds
with
> > the
> > > clunkier <config-param name="..." value="..."/> stuff so its not
like
> > Ant
> > > is
> > > really the bottleneck, its just not as friendly as it could be.
> > >
> > > And even plugging in new subtasks dynamically is possible with
> > workarounds
> > > (which my submitted patch solved also)...
> > >
> > > <!-- this is what we were aiming for -->
> > > <xdoclet>
> > >   <jboss>
> > >   <some-new-vendor>
> > > </xdoclet>
> > >
> > > <!-- but this is the workaround -->
> > > <xdoclet>
> > >   <vendor classname="com.some.new.vendor.Impl" ....>
> > > </xdoclet>
> > >
> > > So the flexibility is available to have a more extensible
framework in
> > > XDoclet so that subtasks aren't "hardcoded" in - its just not as
> > pretty to
> > > the end user as it really should be.  And as an Ant committer, I
> > > apologize.
> > > But I will certainly assist however I can to make it as extensible
as
> > we
> > > can
> > > within the Ant 1.x API.  Ant2 *will* be flexible enough for all of
> > your
> > > needs (or we won't release it until it is! :)
> > >
> > > Having config params on <template> will be very sweet indeed!  The
> > power
> > > of
> > > XDoclet is amazing already with Ant property substitution and soon
> > > template
> > > config params... wow!
> > >
> > >     Erik
> > >
> > >
> > > ----- Original Message -----
> > > From: "Ara Abrahamian" <[EMAIL PROTECTED]>
> > > To: "'Erik Hatcher'" <[EMAIL PROTECTED]>;
> > > <[EMAIL PROTECTED]>
> > > Sent: Thursday, January 17, 2002 1:30 AM
> > > Subject: RE: [Xdoclet-user] Config params
> > >
> > >
> > > > No, the limitation is Ant, and that's why I was seeking an
> > alternative
> > > > IntrosectionHelper. We can easily change the XDtConfig stuff but
how
> > > > does the user define new config params? There should be a
get/set,
> > as
> > > > Ant requires, so you need a custom subtask class with the
get/set. I
> > was
> > > > seeking a way to chain a hastable-based config param system in
it
> > > > (instead of Ant's get/set/reflection-based system) but seems
like
> > it's
> > > > not possible in Ant1.x. So we have to provide a workaround,
> > something
> > > > like this:
> > > >
> > > > <template ...>
> > > > <config-param name="param" value="my value"/>
> > > >
> > > > Sure it seems odd when you compare it with <template param="my
> > value"/>
> > > > but there's no other choice for now. In your template file
you'll be
> > > > able to work with param as usual (XDtConfig:configParamValue
> > > > name="param" ...). I'll try to implement it this weekend.
> > > >
> > > > Ara.
> > > >
> > > > > -----Original Message-----
> > > > > From: [EMAIL PROTECTED]
> > [mailto:xdoclet-user-
> > > > > [EMAIL PROTECTED]] On Behalf Of Erik Hatcher
> > > > > Sent: Thursday, January 17, 2002 4:05 AM
> > > > > To: [EMAIL PROTECTED]
> > > > > Subject: [Xdoclet-user] Config params
> > > > >
> > > > > Is it possible to use config parameters in regular templates?
I
> > think
> > > > I
> > > > > read somewhere that a custom subtask is required, but I just
> > wanted to
> > > > get
> > > > > confirmation.
> > > > >
> > > > > If you can use parameters with standard templates, could
someone
> > > > provide
> > > > > an
> > > > > example of their use?
> > > > >
> > > > > Thanks,
> > > > >     Erik
> > > > >
> > > > >
> > > > > _______________________________________________
> > > > > Xdoclet-user mailing list
> > > > > [EMAIL PROTECTED]
> > > > > https://lists.sourceforge.net/lists/listinfo/xdoclet-user
> > > >
> > > >
> > > >
> > >
> > >
> > > _______________________________________________
> > > Xdoclet-user mailing list
> > > [EMAIL PROTECTED]
> > > https://lists.sourceforge.net/lists/listinfo/xdoclet-user
> >
> >
> > _________________________________________________________
> > Do You Yahoo!?
> > Get your free @yahoo.com address at http://mail.yahoo.com
> >
> >
> 
> 
> _______________________________________________
> Xdoclet-user mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/xdoclet-user



_______________________________________________
Xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user

Reply via email to