-1, what if I don't want this feature? this makes models even more complex
to understand. I would rather check, whether detachables aren't detached an
log it. but I don't like the idea of taking actions directly.

regards

martin
Am 06.04.2012 20:01 schrieb "Ryan McKinley" <[email protected]>:

> +1 Having IDetachable items detached by default makes sense
>
>
> On Fri, Apr 6, 2012 at 10:56 AM, Igor Vaynberg <[email protected]>
> wrote:
> > its easy to enable detaching of any IDetachable field rather then only
> > IModel. this code can also walk behaviors, but i dont think it should
> > go beyond that. walking the entire object graph will be too expensive.
> > right now it performs a lot of caching which makes it work well.
> >
> > -igor
> >
> > On Fri, Apr 6, 2012 at 10:48 AM, Dan Retzlaff <[email protected]>
> wrote:
> >> Sorry to double-post, but I realized it's trivial to visit the object
> graph
> >> since local final variables show up as fields in the inner class. This
> >> following snippet prints "detaching". So what do you think about
> >> generalizing the automatic detach to all objects, not just components?
> >>
> >> final IModel model = new IModel() {
> >> @Override
> >> public Object getObject() {
> >> return null;
> >> }
> >> @Override
> >> public void setObject(Object object) {
> >> }
> >> @Override
> >> public void detach() {
> >> System.out.println("detaching");
> >> }
> >> };
> >>  Object object = new Object() {
> >> public void method() {
> >> System.out.println(model.getObject());
> >> }
> >> };
> >>  for (Field f : object.getClass().getDeclaredFields()) {
> >> System.out.println(f.getName());
> >> if (IModel.class.isAssignableFrom(f.getType())) {
> >> f.setAccessible(true);
> >> ((IModel)f.get(object)).detach();
> >> }
> >> }
> >>
> >> On Fri, Apr 6, 2012 at 11:26 AM, Dan Retzlaff <[email protected]>
> wrote:
> >>
> >>> I wish there were a way to apply this strategy to the whole object
> graph
> >>> (not just fields). I use local final LoadableDetachableModels on
> occasion,
> >>> and it'd be nice for those to magically detach too. I'm +0.
> >>>
> >>> Just got Calc-Eric's message. Looks like we're on the same page.
> >>>
> >>>
> >>> On Fri, Apr 6, 2012 at 10:42 AM, Igor Vaynberg <
> [email protected]>wrote:
> >>>
> >>>> i wrote a IDetachListener that automatically detaches any IModel
> >>>> fields found on components. is this something we would be interested
> >>>> in for core? its been running in production for a while without any
> >>>> noticeable overhead and its nice not to have to implemenet onDetach()
> >>>> all the time just to forward it to secondary models. the only downside
> >>>> is that once we introduce this feature we can never remote it because
> >>>> doing so will break code.
> >>>>
> >>>> thoughts?
> >>>>
> >>>> -igor
> >>>>
> >>>
> >>>
>

Reply via email to