Re: [Jsdsi-users] extending jsdsi.Tag
Status: Pre-Alpha
Brought to you by:
sajma
From: Sean R. <sra...@ae...> - 2004-04-28 08:49:36
|
Sorry guys - I've been in the hills out of email... Hello Guillermo, I hope, despite you're current probelme, that jsdsi is proving fun. I guess my only additional point regarding Tags is the need to extend the jsdsi provided ones in the first place. When I first started with jsdsi I kept wanting to myself, but now that I have a better understanding of it all can see how the existing ones can be used to meet most (all) purposes. Guillermo, would you like some suggestions on how (if it is possible) you might model your tags using the jsdsi classes? Regards, Sean On Tue, 2004-04-27 at 15:55, Sameer Ajmani wrote: > Ok, I've just checked a change into CVS that makes toTagSexp protected. > > Sameer > > > Sameer Ajmani <aj...@cs...> writes: > > > >> Would making toTagSexp() protected solve your problem? We can > >> probably do this. > > > > yes, it will be perfect. > > > > I think it will allow others to provide specific tags with their own > > intersect() methods without modifying the jsdsi package by extending > > Tag. (again, I don't know if it is a good practice or if it should be > > allowed, but at least i find it useful). > > > > > > guillermo > > > >> > >> Sameer > >> > >>> > >>> Thanks a lot for the answer and the advice, > >>> > >>>> To construct application-specific tags, just use the Tag subclasses. > >>> > >>> I wanted to create a new Tag object because the semantics of my > >>> authorization tag require a different intersect() function. I just > >>> though that I could extend jsdsi.Tag implementing the abstract > >>> methods, and providing my own intersect algorithm for my specific > >>> tag. > >>> > >>> If I implement my own Tag extending jsdsi.Tag I get an error because > >>> I cannot implement the abstract method Tag.toTagSexp(). Making it > >>> public in Tag solves the error, although I don't know if this is a > >>> good practice. > >>> > >>> Thanks again, > >>> > >>> Guillermo > >>> > >>> > >>> Sameer Ajmani <aj...@cs...> writes: > >>> > >>>> Tag.toSexp() returns (tag <tag-material>), while Tag.toTagSexp() > >>>> just returns <tag-material>. This just matters for when you write > >>>> tags to a file or to the network (you should always use toSexp(), so > >>>> that the receiver knows that it's getting a Tag). To construct > >>>> application-specific tags, just use the Tag subclasses. For > >>>> example, a tag like this: > >>>> (tag (file (*set read write) (*prefix /home/ajmani))) > >>>> Is constructed as: > >>>> new SimpleTag("file", > >>>> new ExprTag[] { > >>>> new SetTag(new ExprTag[] { new StringTag("read"), > >>>> new StringTag("write") }), > >>>> new PrefixTag("/home/ajmani"); > >>>> }; > >>>> ).toSexp(); > >>>> > >>>> or parse the original string into an object: > >>>> > >>>> Tag myTag = (Tag)Obj.parseObj > >>>> (new SexpInputString > >>>> (new ByteArrayInputStream > >>>> (Sexp.encodeString > >>>> ("(tag (file (*set read write) (*prefix /home/ajmani)))") > >>>> )).readSexp()); > >>>> > >>>> Sameer > >>>> > >>>>> Hi, > >>>>> > >>>>> I have a little question regarding jsdsi.Tag. I need to create an > >>>>> application specific Tag and I was wondering if the abstract class > >>>>> Tag is intended to be extended by external sw packages. > >>>>> > >>>>> If this is the case, the method Tag.toTagSexp() shouldn't it be > >>>>> declared public or protected? In the latests stable version and > >>>>> current CVS version is is package-private. And if this is not the > >>>>> case, which is the best way to implement an application-specific > >>>>> tag? > >>>>> > >>>>> > >>>>> thanks, > >>>>> > >>>>> Guillermo > >>>>> > >>>>> -- > >>>>> --------------------------------------------------------------- > >>>>> Guillermo Navarro (gna...@cc...) > >>>>> Phone: +34 93 581 3577 > >>>>> FAX: +34 93 581 3033 > >>>>> Home: http://www.ccd.uab.es/~guille > >>>>> Combinatoria i Comunicacio Digital (http://www.ccd.uab.es) > >>>>> Universitat Autonoma de Barcelona - 08193 Bellaterra, Spain > >>>>> --------------------------------------------------------------- > >>>>> > >>>>> > >>>>> > >>>>> ------------------------------------------------------- > >>>>> This SF.net email is sponsored by: The Robotic Monkeys at ThinkGeek > >>>>> For a limited time only, get FREE Ground shipping on all orders of > >>>>> $35 or more. Hurry up and shop folks, this offer expires April > >>>>> 30th! http://www.thinkgeek.com/freeshipping/?cpg=12297 > >>>>> _______________________________________________ > >>>>> Jsdsi-users mailing list > >>>>> Jsd...@li... > >>>>> https://lists.sourceforge.net/lists/listinfo/jsdsi-users > >>>> > >>>> > >>>> http://ajmani.net > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> ------------------------------------------------------- > >>>> This SF.net email is sponsored by: The Robotic Monkeys at ThinkGeek > >>>> For a limited time only, get FREE Ground shipping on all orders of > >>>> $35 or more. Hurry up and shop folks, this offer expires April 30th! > >>>> http://www.thinkgeek.com/freeshipping/?cpg=12297 > >>>> _______________________________________________ > >>>> Jsdsi-users mailing list > >>>> Jsd...@li... > >>>> https://lists.sourceforge.net/lists/listinfo/jsdsi-users > >>>> > >>> > >>> -- > >>> --------------------------------------------------------------- > >>> Guillermo Navarro (gna...@cc...) > >>> Phone: +34 93 581 3577 > >>> FAX: +34 93 581 3033 > >>> Home: http://www.ccd.uab.es/~guille > >>> Combinatoria i Comunicacio Digital (http://www.ccd.uab.es) > >>> Universitat Autonoma de Barcelona - 08193 Bellaterra, Spain > >>> --------------------------------------------------------------- > >> > >> > >> http://ajmani.net > >> > >> > >> > > > > -- > > --------------------------------------------------------------- > > Guillermo Navarro (gna...@cc...) > > Phone: +34 93 581 3577 > > FAX: +34 93 581 3033 > > Home: http://www.ccd.uab.es/~guille > > Combinatoria i Comunicacio Digital (http://www.ccd.uab.es) > > Universitat Autonoma de Barcelona - 08193 Bellaterra, Spain > > --------------------------------------------------------------- > > > http://ajmani.net > > > > > > ------------------------------------------------------- > This SF.net email is sponsored by: The Robotic Monkeys at ThinkGeek > For a limited time only, get FREE Ground shipping on all orders of $35 > or more. Hurry up and shop folks, this offer expires April 30th! > http://www.thinkgeek.com/freeshipping/?cpg=12297 > _______________________________________________ > Jsdsi-users mailing list > Jsd...@li... > https://lists.sourceforge.net/lists/listinfo/jsdsi-users -- Dr. Sean Radford, MBBS, MSc sra...@ae... http://www.aegeus-technology.com |