On Thu, Oct 2, 2008 at 2:41 PM, Cassie <[EMAIL PROTECTED]> wrote:
> Anybody else want to chime in?
> We can either:
>
> 1. add SecurityToken.getContainer
> 2. add SecurityToken.getParameter(String key)
> 3. leave it as is and go find a different solution for SecurityToken
> extensions

My rough order of preference:
- find a different solution, though I've got no idea what one would look like.
- SecurityToken.getContainer()
- getParameter(String key)

I don't like getParameter(String key) because it forces us to treat
all security token extensions as Strings.  What if it's a List?  What
if it's something else entirely?

Hrm.  I do have some idea of what a good solution would look like, but
so far everytime I mention it people give me dirty looks.  I'll try it
out on shindig-dev just to see where things go:

Assuming that all instances of SecurityToken are generated by
deployment specific code, Shindig deployers can implement a single
subclass of SecurityToken for all SecurityToken instances they
generate.  Shindig SPI implementations can then cast down to that
SecurityToken subclass.  This type of pattern is remarkably common in
old school C code: opaque void* pointers are tossed around anywhere
you have two APIs that can't have compile time dependencies but do
need to call each other at runtime.

Reply via email to