samples/instanceofclass/src-api1.0/api/InstanceProvider.java
changeset 210 acf2c31e22d4
parent 209 1c999569643b
     1.1 --- a/samples/instanceofclass/src-api1.0/api/InstanceProvider.java	Sat Jun 14 10:04:51 2008 +0200
     1.2 +++ b/samples/instanceofclass/src-api1.0/api/InstanceProvider.java	Sat Jun 14 10:04:53 2008 +0200
     1.3 @@ -2,18 +2,21 @@
     1.4  package api;
     1.5  
     1.6  // BEGIN: instanceof.class.InstanceProvider1
     1.7 +
     1.8 +import java.util.concurrent.Callable;
     1.9 +
    1.10  public final class InstanceProvider {
    1.11 -    private final Object instance;
    1.12 +    private final Callable<Object> instance;
    1.13  
    1.14 -    public InstanceProvider(Object instance) {
    1.15 +    public InstanceProvider(Callable<Object> instance) {
    1.16          this.instance = instance;
    1.17      }
    1.18      
    1.19 -    public Class<?> instanceClass() {
    1.20 -        return instance.getClass();
    1.21 +    public Class<?> instanceClass() throws Exception {
    1.22 +        return instance.call().getClass();
    1.23      }
    1.24 -    public Object instanceCreate() {
    1.25 -        return instance;
    1.26 +    public Object instanceCreate() throws Exception {
    1.27 +        return instance.call();
    1.28      }
    1.29  }
    1.30  // END: instanceof.class.InstanceProvider1