I have:

public class Władysław implements Osoba {

        @Inject
        public Władysław(@Named("tata") Osoba tata, @Mama Osoba mama,
                        @Assisted("dataUrodzenia") Long dataUrodzenia,
                        @Assisted("liczbaRąk") Long liczbaRąk) {
                super();
                this.tata = tata;
                this.mama = mama;
                this.dataUrodzenia = dataUrodzenia;
                this.liczbaRąk = liczbaRąk;
        }

}

A factory

public interface WładysławFactory {

        @Named("dataUrodzenia")
        public Władysław create(@Assisted("dataUrodzenia") Long
dataUrodzenia,
                        @Assisted("liczbaRąk") Long liczbaRąk);

}

And in module definition:

install(new FactoryModuleBuilder().implement(Osoba.class,
                                Władysław.class).build(WładysławFactory.class));

But when I call:

Władysław władysław = factory.create(System.nanoTime(),
Random.nextLong(1, 10) );

I get:

1) No implementation for java.lang.Long annotated with
@com.google.inject.assistedinject.Assisted(value=dataUrodzenia) was
bound.
  while locating java.lang.Long annotated with
@com.google.inject.assistedinject.Assisted(value=dataUrodzenia)
    for parameter 2 at
pl.koziolekweb.wjug.guice.base.Władysław.<init>(Władysław.java:26)
  at
pl.koziolekweb.wjug.guice.base.TestowaRodzinaWładysława.configure(TestowaRodzinaWładysława.java:
14)

2) No implementation for java.lang.Long annotated with
@com.google.inject.assistedinject.Assisted(value=liczbaRąk) was bound.
  while locating java.lang.Long annotated with
@com.google.inject.assistedinject.Assisted(value=liczbaRąk)
    for parameter 3 at
pl.koziolekweb.wjug.guice.base.Władysław.<init>(Władysław.java:26)
  at
pl.koziolekweb.wjug.guice.base.TestowaRodzinaWładysława.configure(TestowaRodzinaWładysława.java:
14)


I understand that i need to bindings like this:

bind(Long.class).annotatedWith(Assisted.class).toInstance(System.nanoTime());
bind(Long.class).annotatedWith(Assisted.class).toInstance(4L);

but how can I put value to Assisted annotation? I'm looking somethong
like Names but I didn't find.

-- 
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-guice?hl=en.

Reply via email to