You can do what you want, and should do whatever seems sensible for your
needs. What I'm getting at is that T5 IoC can transparently handle
creating services with constructor arguments, if those arguments are of
types known to the container. String won't work, and I honestly don't
know what would happen if you tried to pass one in, but it won't give
you what you need. I think the container's object resolution relies on
mapping a type to a single known instance, but I could be way off here.
I think what you need is to build your service in a builder and manually
pass it arguments. Of course if these object is based on the current
request, that's a different story. Be sure to read:
http://tapestry.apache.org/tapestry5/tapestry-ioc/module.html
Sincerely,
chris
lyifan wrote:
Hi Chris,
Do you mean that any constructor parameters can be replaced by an object
that provides those parameters?
for an instance, if address, port, ssl are saved in a config file, I have to
pass a ConfigFile object as the parameter of the HttpTransport constructor.
Am I right?
thank you
Chris Lewis-5 wrote:
I'm not sure I understand the constructor parameters. Do you mean they
come from some other object (HttpRequest)? If so, why not just take
HttpRequest as a constructor argument? If you do that then you can auto
bind this service and IoC will know how to create it. If you insist on
the parameters currently listed, then you'll need to have a service
builder method, and inject HttpRequest as an argument into that method.
lyifan wrote:
I want to implement a service:
public interface Transport {
public void send();
}
public class HttpTransport implement Transport {
private String _address;
private int _port;
private boolean _ssl;
public HttpTransport (String address, int port, boolean ssl) {
_address = address;
_port = port;
_ssl = ssl;
}
public void send) {
// ......
}
}
The parameter of the constructor is from http request. How can I build
this
service? I know I can use setters, but I just wanna know how to build a
service using constructor.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]