jordi,
I tried that. the convertToTypes needs TypeLiteral.

Tim & Stuart,
This is great !!
I think it is a good idea to inject all dates with that converter.
However, just to understand. Is it possible to convert base on
Annotation (or Named)

Thanks,

On Jan 31, 6:39 pm, jordi <[email protected]> wrote:
> use a regular guice Matcher [1], I guess this would do the trick:
>
> import static com.google.inject.matcher.Matchers.annotatedWith;
>
> // ...
> protected void configure() {
>   convertToTypes(annotatedWith(Names.named("YOUR_KEY")), typeConverter);
>
> }
>
> jordi
>
> [1]http://google-guice.googlecode.com/svn/trunk/javadoc/com/google/injec...
>
>
>
>
>
>
>
> On Tue, Jan 31, 2012 at 5:20 PM, Eyal Golan <[email protected]> wrote:
> > Thanks for the inputs.
> > The code example is what I needed.
> > However, using it will convert all Date classes that get injected.
> > Is there a way to create a converter only for parameters annotated with
> > Named ?
>
> > Eyal Golan
> > [email protected]
>
> > Visit:http://jvdrums.sourceforge.net/
> > LinkedIn:http://www.linkedin.com/in/egolan74
> > Skype: egolan74
>
> > P  Save a tree. Please don't print this e-mail unless it's really necessary
>
> > On Tue, Jan 31, 2012 at 5:55 PM, Tim Peierls <[email protected]> wrote:
>
> >> I recommend using Rocoto, too, but here's an example that shows how to do
> >> it yourself, expressed as a JUnit test:
>
> >>http://pastebin.com/mWx9xG4M
>
> >> --tim
>
> >> On Tue, Jan 31, 2012 at 10:10 AM, Stuart McCulloch 
> >> <[email protected]>wrote:
>
> >>> On 31 Jan 2012, at 14:42, egolan wrote:
>
> >>> > Hi,
> >>> > I am using  Names.bindProperties(binder(), properties); where my
> >>> > properties are taken from a pre-initialized configuration.
> >>> > One of the properties represent java.util.Date.
> >>> > We have a simple date format class that sets the value:
> >>> > SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd-yyyy
> >>> > HH:mm:ss");
> >>> > when I just use the Names binding, I get the Guice creation exception
> >>> > that the named field was not bound.
>
> >>> Names.bindProperties(...) creates constant bindings for the properties
> >>> map - constant bindings are converted from Strings to actual instances by
> >>> TypeConverters:
>
> >>>http://google-guice.googlecode.com/svn/trunk/javadoc/com/google/injec...
>
> >>> Guice provides built-in TypeConverters for primitive types, enums, and
> >>> class literals - but not for Date, hence the creation exception. However,
> >>> you can add your own:
>
> >>>http://google-guice.googlecode.com/svn/trunk/javadoc/com/google/injec...)
>
> >>> See alsohttp://99soft.github.com/rocoto/which provides a range of
> >>> useful TypeConverters, including one for Date:
> >>>http://99soft.github.com/rocoto/converters.html
>
> >>> > This is my injected constructor:
>
> >>> >    @Inject
> >>> >    public CoreFetchOperationsImpl(@Named("MpsQueryFilter") String
> >>> > genericQuery, @Named("MpsIterationBulkSize")int bulkSizeFetch,
> >>> >            @Named("MpsLastProcessingTime") Date lastProcessingTime)
>
> >>> > In order to solve it, I am getting from the pre-initialized
> >>> > configuration the concrete Date as string, parse it using the format
> >>> > and bind specifically:
>
> >>> bind(Date.class).annotatedWith(Names.named("MpsLastProcessingTime")).toInst
> >>>  ance(parsedDate));
>
> >>> > Is there a better way?
>
> >>> > Thanks
>
> >>> > --
> >>> > 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.
>
> >>> --
> >>> 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.
>
> >>  --
> >> 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.
>
> >  --
> > 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.

-- 
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