|
31 | 31 |
|
32 | 32 | package org.scijava.convert; |
33 | 33 |
|
| 34 | +import java.lang.reflect.Type; |
34 | 35 | import java.util.Collection; |
35 | 36 |
|
36 | 37 | import org.scijava.plugin.AbstractHandlerPlugin; |
| 38 | +import org.scijava.util.GenericUtils; |
37 | 39 |
|
38 | 40 | /** |
39 | 41 | * Abstract superclass for {@link Converter} plugins. Performs appropriate |
@@ -70,6 +72,32 @@ public boolean canConvert(final ConversionRequest request) { |
70 | 72 | return false; |
71 | 73 | } |
72 | 74 |
|
| 75 | + @Override |
| 76 | + public boolean canConvert(final Class<?> src, final Type dest) { |
| 77 | + final Class<?> destClass = GenericUtils.getClass(dest); |
| 78 | + return canConvert(src, destClass); |
| 79 | + } |
| 80 | + |
| 81 | + @Override |
| 82 | + public boolean canConvert(final Object src, final Type dest) { |
| 83 | + final Class<?> destClass = GenericUtils.getClass(dest); |
| 84 | + return canConvert(src, destClass); |
| 85 | + } |
| 86 | + |
| 87 | + @Override |
| 88 | + public boolean canConvert(final Object src, final Class<?> dest) { |
| 89 | + if (src == null) return false; |
| 90 | + final Class<?> srcClass = src.getClass(); |
| 91 | + |
| 92 | + return canConvert(srcClass, dest); |
| 93 | + } |
| 94 | + |
| 95 | + @Override |
| 96 | + public Object convert(final Object src, final Type dest) { |
| 97 | + final Class<?> destClass = GenericUtils.getClass(dest); |
| 98 | + return convert(src, destClass); |
| 99 | + } |
| 100 | + |
73 | 101 | @Override |
74 | 102 | public Object convert(final ConversionRequest request) { |
75 | 103 | if (request.sourceObject() != null) { |
|
0 commit comments