I have found a (slightly hacky) solution be using an OrderedConfiruration and
adding a getTopic() to my Authorizer interface.

public interface Authorizer {
   public String getTopic();
   public boolean authorize(Context context);
}

public void contributeAuthorizers(OrderedConfiguration<Authorizer> config) {
   config.add("auth1", new Authorizer1("topic1"));
   config.add("auth2", new Authorizer1("topic1"), "before:auth1");
   config.add("auth3", new Authorizer1("topic2"));
   config.add("auth4", new Authorizer1("topic2"), "before:auth3");
}

public void buildAuthorizers(List<Authorizer> authorizers) {
   MultiMap multimap = new HashMultiMap<String, Authorizer>();
   for (Authorizer auth : authorizers) {
      multimap.put(auth.getTopic(), auth);
   }
   return new AuthorizersImpl(multimap);
}


--
View this message in context: 
http://tapestry.1045711.n5.nabble.com/MultiMapConfiguration-tp5714003p5714004.html
Sent from the Tapestry - User mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to