Code Monkey home page Code Monkey logo

Comments (5)

GoogleCodeExporter avatar GoogleCodeExporter commented on August 22, 2024
This is the expected behavior as described 
[http://code.google.com/p/mvp4g/wiki/PresenterViewService#Event_Generation 
here]. The 'handlers' attribute isn't supposed to generate any handler, you 
need to use the 'generate' attribute.

Original comment by [email protected] on 23 Jul 2012 at 11:19

from mvp4g.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 22, 2024
First, i've misunderstood how the singleton presenter is instantiated on Mvp4g. 

- It's not instantiated when the event is fired but the application starts. 

- The "handler" attribute has nothing to do with instantiation.

- The "multiple=true" attribute effectively disables the automatic 
instantiation on startup. 

- The "generate" attribute is used to create new instance for the multiple 
presenter whenever the event is fired. 

So the issue can be rejected in this regard.

However, there's another aspect concerning this issue.

- Supposing that the createOne event would be fired before the createMany 
event. The question is how to make sure that only one instance is created when 
the createOne event is fired?

- It might be done by calling #addHandler before firing the createOne event 
below,

if(!instantiated){
eventBus.addHandler(MP.class);
instantiated=true;
}

@Event(handler = MP.class)
void createOne();

@Event(generate = MP.class)
void createMany();

@Presenter(multiple = true ...)
public class MP ...

Can we achieve it simply via annotation?


Original comment by [email protected] on 24 Jul 2012 at 7:38

from mvp4g.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 22, 2024
If you want a single instance, then you shouldn't use multiple instance. If you 
concern about instantiating presenters at start, you should use Lazy Presenter 
to build your presenter/view only the first time it has to handle an event.

Original comment by [email protected] on 25 Jul 2012 at 2:43

from mvp4g.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 22, 2024
Thanks! Let's close this issue and discuss the derived use case on the forum. 
i'll try to either formulate it more convincing or refactor the solution more 
feasible.

Original comment by [email protected] on 25 Jul 2012 at 6:59

from mvp4g.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 22, 2024

Original comment by [email protected] on 6 Sep 2013 at 4:36

  • Changed state: Done

from mvp4g.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.