abdera-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James M Snell <jasn...@gmail.com>
Subject Re: Getting access to the Factory/Abdera instances
Date Wed, 31 Oct 2007 00:05:55 GMT
I've recently made a change to Abdera so that we can do:

Abdera abdera = Abdera.getInstance();

Since applications should only use a single instance of Abdera, perhaps
using this would be good enough?

- James

Dan Diephouse wrote:
> I was wondering if instead of passing the Abdera instance around all the
> time on the request instance, if we could just inject it into providers
> instead. While theoretically we could have a single provider serve
> multiple Abdera instances, I don't really think its that likely. People
> may do it, but I think the majority of people won't.
> 
> If we could do something like Provider.setAbdera(abdera) it would make
> access to the Factory quite a bit easier as well. For instance, inside
> the CollectionProvider bits I have to do this currently:
> 
>  @Override
>  public List<Person> getAuthors(Customer entry, RequestContext request)
> throws ResponseContextException {
>    Person author = request.getAbdera().getFactory().newAuthor();
>    author.setName("Acme Industries");
>    return Arrays.asList(author);
>  }
> 
> Now contrast it to what it could be if we had a 1:1 relationship between
> an Abdera instance and a Provider/CollectionProvider:
> 
>  @Override
>  public List<Person> getAuthors(Customer entry) throws
> ResponseContextException {
>    Person author = getFactory().newAuthor();
>    author.setName("Acme Industries");
>    return Arrays.asList(author);
>  }
> 
> It's not life changing, but its cleaner as the RequestContext doesn't
> need to be passed to get the authors. It would also make the
> AbstractCollectionProvider a fair bit cleaner.
> 
> Thoughts?
> 
> - Dan
> 

Mime
View raw message