samples/instanceofclass/src-api2.0/api/InstanceProvider.java
author Jaroslav Tulach <jtulach@netbeans.org>
Sat, 14 Jun 2008 10:04:51 +0200
changeset 209 1c999569643b
parent 191 c8a7c6621b5f
child 210 acf2c31e22d4
permissions -rw-r--r--
to the end of daily_life
     1 
     2 package api;
     3 
     4 // BEGIN: instanceof.class.InstanceProvider2
     5 public final class InstanceProvider {
     6     private final Object instance;
     7 
     8     public InstanceProvider(Object instance) {
     9         this.instance = instance;
    10     }
    11     
    12     public Class<?> instanceClass() {
    13         return instance.getClass();
    14     }
    15     public Object instanceCreate() {
    16         return instance;
    17     }
    18     
    19     /** @since 2.0 */
    20     public boolean isInstanceOf(Class<?> c) {
    21         if (Helper.knownHowToDoItBetter()) {
    22             return Helper.computeTheResultOfIsInstanceOfInSomeBetterWay(c);
    23         } else {
    24             // fallback
    25             return c.isAssignableFrom(instanceClass());
    26         }
    27     }
    28 
    29     
    30 }
    31 // END: instanceof.class.InstanceProvider2
    32 
    33 class Helper {
    34     static boolean computeTheResultOfIsInstanceOfInSomeBetterWay(Class<?> c) {
    35         return false;
    36     }
    37     static boolean knownHowToDoItBetter() {
    38         return false;
    39     }
    40 }