Mercurial > jhg
comparison src/org/tmatesoft/hg/core/HgCatCommand.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 | 5f9073eabf06 |
children | 2fadf8695f8a |
comparison
equal
deleted
inserted
replaced
355:f2c11fe7f3e9 | 356:91d75e1bac9f |
---|---|
203 | 203 |
204 public <T> T getAdapter(Class<T> adapterClass) { | 204 public <T> T getAdapter(Class<T> adapterClass) { |
205 if (CancelSupport.class == adapterClass) { | 205 if (CancelSupport.class == adapterClass) { |
206 return adapterClass.cast(cancelHelper); | 206 return adapterClass.cast(cancelHelper); |
207 } | 207 } |
208 if (delegate instanceof Adaptable) { | 208 return Adaptable.Factory.getAdapter(delegate, adapterClass, null); |
209 return ((Adaptable) delegate).getAdapter(adapterClass); | |
210 } | |
211 if (adapterClass.isInstance(delegate)) { | |
212 return adapterClass.cast(delegate); | |
213 } | |
214 return null; | |
215 } | 209 } |
216 } | 210 } |
217 } | 211 } |