Re: DataContextFactory

From: Mike Kienenberger (mkienen..mail.com)
Date: Fri Sep 16 2005 - 13:24:04 EDT

  • Next message: Andrus Adamchik: "Re: DataContextFactory"

    In that case, should I resolve the issue, or reassign it to Andrus
    until someone creates some modeler support for it?

    On 9/16/05, Andrus Adamchik <andru..bjectstyle.org> wrote:
    > When I mentioned builder I meant is as a joke, pointing out that
    > there is no limit of how complex we can make it :-) Builders are good
    > for creating complex hierarchical assemblies, such as Swing panels,
    > etc. All we need is a simple extension point.
    >
    > Like I said, current solution is good, and now that I am looking at
    > the cost of creating a throwaway ObjectStore, it is really not that
    > big. EventManager registration is not a problem either - EventManager
    > uses weak references, so such ObjectStore will be garbage collected
    > in no time.
    >
    > Andrus
    >
    >
    > On Sep 15, 2005, at 6:30 PM, Mike Kienenberger wrote:
    >
    > > I've been reading through the builder pattern and it's not quite clear
    > > to me how this could be made to work. The pattern seems to assume
    > > that the DataNode would know which kind of factory it wants first (one
    > > using ObjectStore or one without).
    > >
    > > Another possiblity might be adding methods like
    > >
    > > public boolean needsObjectStore(); // recommended default is true
    > > public boolean needsDataRowStore(); // recommended default is
    > > false
    > >
    > > and calling the appropriate constructor.
    > >
    > > DataContext createDataContext(QueryEngine parent);
    > > DataContext createDataContext(QueryEngine parent, ObjectStore
    > > objectStore);
    > > DataContext createDataContext(QueryEngine parent, DataRowStore
    > > dataRowStore);
    > >
    > > or maybe simply just having what's below and assuming the end-user can
    > > figure out how to get whatever resources are necessary to create an
    > > object store.
    > >
    > > public boolean willProvideObjectStore()
    > > DataContext createDataContext(QueryEngine parent);
    > > DataContext createDataContext(QueryEngine parent, ObjectStore
    > > objectStore);
    > >
    > > if (dataContextFactory.willProvideObjectStore()) {
    > > context = new DataContext(this);
    > > }
    > > else {
    > > context = dataContextFactory.createDataContext(this, new
    > > ObjectStore(snapshotCache));
    > > }
    > >
    > >
    >
    >



    This archive was generated by hypermail 2.0.0 : Fri Sep 16 2005 - 13:24:13 EDT