Skip to content

Commit 9fcdef0

Browse files
committed
Add default canConvert(Class, Class) impl
We have enough information at the abstract layer to implement this method. Doing so should allow us to reduce boilerplate method implementations downstream.
1 parent 39e17fb commit 9fcdef0

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

src/main/java/org/scijava/convert/AbstractConverter.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import java.util.Collection;
3636

3737
import org.scijava.plugin.AbstractHandlerPlugin;
38+
import org.scijava.util.ConversionUtils;
3839
import org.scijava.util.GenericUtils;
3940

4041
/**
@@ -91,6 +92,12 @@ public boolean canConvert(final Object src, final Class<?> dest) {
9192
return canConvert(srcClass, dest);
9293
}
9394

95+
@Override
96+
public boolean canConvert(final Class<?> src, final Class<?> dest) {
97+
return ConversionUtils.canCast(src, getInputType()) &&
98+
ConversionUtils.canCast(dest, getOutputType());
99+
}
100+
94101
@Override
95102
public Object convert(final Object src, final Type dest) {
96103
final Class<?> destClass = GenericUtils.getClass(dest);

0 commit comments

Comments
 (0)