comparison src/org/tmatesoft/hg/util/CancelSupport.java @ 356:91d75e1bac9f

Consistent approach to deal with adaptable objects. Give adaptable precedence over instanceof to allow conditional response when classes do implement desired interface
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Tue, 06 Dec 2011 14:25:52 +0100
parents f9f3e9b67ccc
children 9c9c442b5f2e
comparison
equal deleted inserted replaced
355:f2c11fe7f3e9 356:91d75e1bac9f
52 } 52 }
53 }; 53 };
54 } 54 }
55 55
56 public static CancelSupport get(Object target, CancelSupport defaultValue) { 56 public static CancelSupport get(Object target, CancelSupport defaultValue) {
57 if (target instanceof CancelSupport) { 57 return Adaptable.Factory.getAdapter(target, CancelSupport.class, defaultValue);
58 return (CancelSupport) target;
59 }
60 if (target instanceof Adaptable) {
61 CancelSupport cs = ((Adaptable) target).getAdapter(CancelSupport.class);
62 if (cs != null) {
63 return cs;
64 }
65 }
66 return defaultValue;
67 } 58 }
68 } 59 }
69 60
70 interface Target<T> { 61 interface Target<T> {
71 T set(CancelSupport cs); 62 T set(CancelSupport cs);