From: Eric P. <er...@ep...> - 2002-02-20 01:27:30
|
Yeah, it's a new thing. There are cases where the structs themselves actually need to refer to a polymorphism of other structs. Typical examples include things like AuthWrappers, TestScripts, and Configurations. The struct outlines in http://www.epinova.com/docs/sand.html#x_sandbasics give some insight into how this holds together. Without the polymorphism, things get pretty annoying to deal with. It's kind of a standard OO concept that I miss when its not there. You are correct that the structs are just classes with variable declarations. But they need some interface references to other things. We have messages being generated from the structs and from the nodes. The structs simply don't know about everything up front. Does that help the context at all? At 06:39 PM 2/19/2002 -0500, Steve Magoun wrote: >The structs themselves are just classes with variable declarations, right? >I agree that they shouldn't reference any other packages at all. Classes >generated from the structs (like messages or EJBs) should try to avoid >referencing other packages too, but I don't see as much of an issue >there. I thought the generated message classes were the ones dependent >on the SandMessage, etc, interfaces, not the structs themselves...or am I >missing something? > >I'm picturing a setup like this: > >basics.struct > -FooStruct (not allowed to import other packages) > >basics.message > -Foo[Message] implements SandStructMessage > >It seems to me that the SandStructMessage interface should go in >basics.message, not basics.struct. I guess I don't understand how the >structs are dependent on message interfaces.... > > >Steve > > >On Tuesday, February 19, 2002, at 05:52 PM, Eric Parker wrote: > >>I don't mean *all* the interfaces for messages, just the ones that the >>struct declarations themselves depend on. Specifically: >> SandMessage >> SandStructMessage >> SandVerbMessage >> SandUpdateMessage >> ConfigParam >> >>I'm also thinking that the messages directory should not exist in the >>sourcebase, it would be created by the build so we know the contract is >>being upheld. I suppose we could generate these interfaces as part of the >>build, but I'm still really worried about the structs package referencing >>other packages. I really want to contain that. A reference leading from >>structs to messages is not good. structs needs to be self contained, or at >>worst, refer to a helper directory that doesn't have anything else in it. >> >>So I think the choice for these particular interfaces is either the >>structs directory, or some other special purpose directory (optionally >>created by the build). That's why I'm wanting to go with putting them >>in the structs directory. Putting them in the messages directory won't >>work due to the references. >> >>Other ideas? > > >_______________________________________________ >Sandboss-devel mailing list >San...@li... >https://lists.sourceforge.net/lists/listinfo/sandboss-devel |