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