Remy, >Only the core objects have interfaces. Embedded is a helper object, so it's >not an interface. Just like Catalina is not an interface. >By the way, I don't see how having an interface makes it easier to work with >Catalina. The only useful thing with interfaces is if you want to extend or >reimplement something, because of Java's lack of multiple inheritance. > Not true. If you want to *secure* your impl from other code. You could use three schemes:
1) seperate classloaders for the interfaces and impl Catalina Impl Other Application* | | -------------------- | System/Boot/Primordial & Catalina 'interfaces' * that might want to invoke methods in Catalina via its interfaces. 2) Run the Object implementing the interfaces through a DynamicProxy generator, such that the Other Application cannot cast to the impl. 3) Combination of (1) and (2) to overcome introspection/serialization tricks for hacking. >Also, if you only want to use Catalina as a service inside a bigger >framework, you should use CatalinaService, not Embedded (and no, there's no >need for an interface for that either ;-)). > I will try with this. Two things though: 1) For exactly the same reason, it needs an interface. I *really* *need* an interface. 2) CatalinaService exposes less methods than Embedded. Way less. I guess the idea is that to add hosts and webapps, you should not being doing it inVM via method calls but via a connector. Regards, - Paul H -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>