Want me to file a bug then? I could probably work on this if you don't have
cycles...but since you're the expert in this area, I would defer to
you..you probably have stronger opinions on how things should be named than
I do.

Scott


On Thu, Mar 14, 2013 at 10:23 AM, Ralph Goers <[email protected]>wrote:

> After sleeping on this overnight I think we should remove the default on
> the elementType and just require it to be specified.  Having an elementType
> of "EMPTY" is going to create problems when trying to use the compound key
> necessary to do what you are suggesting below.
>
> Ralph
>
> On Mar 14, 2013, at 12:15 AM, Ralph Goers wrote:
>
> > This would require the key to be an object containing both the name and
> the elementType. I believe this would also allow plugins with the same name
> to be both a Filter and an Appender or Layout as well. To be honest, it
> probably would be nicer if elementType could default to the type attribute,
> but that is not possible since default values on annotations must be
> constants.
> >
> > Ralph
> >
> >
> > On Mar 13, 2013, at 10:52 PM, Scott Deboy wrote:
> >
> >> After working through the 'left out to attempt to get around spam
> blocker' plugin support, I noticed something that I think may be an issue.
> >>
> >> I have a default/no-op 'left out' implementation:
> >> @Plugin(name = "default", type = "Core", elementType = "left out",
> printObject = false)
> >> public class DefaultLeftOut implements LeftOut {
> >>
> >> If some other person names another plugin as 'default' in 'core'
> (admittedly default is a terrible name and I should rename it)...we will
> have a problem.
> >>
> >> I think the element type should be part of the resolution..
> >>
> >> Still using:
> >> PluginManager pluginManager = new PluginManager("Core");
> >> pluginManager.collectPlugins();
> >>
> >> But instead of code using:
> >> PluginType type = getPluginManager().getPluginType(name);
> >> (with name = 'default' in this LeftOut case, giving me a DefaultLeftOut)
> >>
> >> Maybe:
> >> PluginType type = getPluginmanager().getPluginType(elementType, name);
> >> (with elementType = 'leftOut' and name = 'default' in this leftOut case)
> >>
> >> In theory, we should also update the Maps in pluginmanager to support
> this uniqueness...right now we collide just on 'name' in the type.
> >>
> >> Right now, the last one wins, which isn't ideal.
> >>
> >> At least we'd reduce the likelihood of collisions.
> >>
> >> What do you think?
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to