[ 
https://issues.apache.org/jira/browse/DELTASPIKE-399?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13743617#comment-13743617
 ] 

Christian Kaltepoth commented on DELTASPIKE-399:
------------------------------------------------

I agree with Gerhard that we should avoid name clashes. What about 
@ClasspathResource?

What do you think about extending what Solder provided by supporting injection 
of other types than URL and InputStream? We could provide an SPI to allow users 
to extend the types that are supported.

Imagine this example. A user wants to load a FreeMarker template from the 
classpath. Wouldn't it be nice to be able to do something like this:

@Inject
@ClasspathResource(name="template.ftl", loader=TemplateLoader.class)
private Template myTemplate;

Where TemplateLoader is an implementation of an interface like this:

public interface ResourceLoader<T> {
  T load(URL url);
}

Actually I don't think the user will have to explicitly name the loader to use. 
This could be done automatically.

Thoughts?
                
> Incorporate Solder's ResourceLoader features into DeltaSpike
> ------------------------------------------------------------
>
>                 Key: DELTASPIKE-399
>                 URL: https://issues.apache.org/jira/browse/DELTASPIKE-399
>             Project: DeltaSpike
>          Issue Type: New Feature
>          Components: Core
>    Affects Versions: 0.4
>            Reporter: Aaron Siri
>            Assignee: John D. Ament
>            Priority: Minor
>             Fix For: 0.6
>
>
> Seam 3's Solder module had some nice resource loading functionality within 
> the org.jboss.solder.resourceLoader packages.  With it you could do the 
> following:
> // Load a properties file
> @Inject @Resource("app.properties")
> private Properties appProperties;
> or:
> @Inject
> private ResourceProvider resourceProvider
> public Properties getHostProperties() {
>    String hostname = java.net.InetAddress.getLocalHost().getHostName();
>    return resourceProvider.loadPropertiesBundle(hostname + ".properties");
> }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to