3232package org .scijava .convert ;
3333
3434import java .lang .reflect .Type ;
35+ import java .util .ArrayList ;
3536import java .util .Collection ;
3637import java .util .HashSet ;
38+ import java .util .LinkedHashSet ;
3739import java .util .Set ;
3840
3941import org .scijava .plugin .AbstractHandlerService ;
@@ -51,6 +53,69 @@ public abstract class AbstractConvertService extends
5153{
5254
5355 // -- ConversionService methods --
56+ @ SuppressWarnings ({ "unchecked" , "rawtypes" })
57+ @ Override
58+ public Class <Converter <?, ?>> getPluginType () {
59+ return (Class )Converter .class ;
60+ }
61+
62+ @ Override
63+ public Class <ConversionRequest > getType () {
64+ return ConversionRequest .class ;
65+ }
66+
67+ @ Override
68+ public Converter <?, ?> getHandler (final Object src , final Class <?> dest ) {
69+ return getHandler (new ConversionRequest (src , dest ));
70+ }
71+
72+ @ Override
73+ public Converter <?, ?> getHandler (final Class <?> src , final Class <?> dest ) {
74+ return getHandler (new ConversionRequest (src , dest ));
75+ }
76+
77+ @ Override
78+ public Converter <?, ?> getHandler (final Object src , final Type dest ) {
79+ return getHandler (new ConversionRequest (src , dest ));
80+ }
81+
82+ @ Override
83+ public Converter <?, ?> getHandler (final Class <?> src , final Type dest ) {
84+ return getHandler (new ConversionRequest (src , dest ));
85+ }
86+
87+ @ Override
88+ public boolean supports (final Object src , final Class <?> dest ) {
89+ return supports (new ConversionRequest (src , dest ));
90+ }
91+
92+ @ Override
93+ public boolean supports (final Class <?> src , final Class <?> dest ) {
94+ return supports (new ConversionRequest (src , dest ));
95+ }
96+
97+ @ Override
98+ public boolean supports (final Object src , final Type dest ) {
99+ return supports (new ConversionRequest (src , dest ));
100+ }
101+
102+ @ Override
103+ public boolean supports (final Class <?> src , final Type dest ) {
104+ return supports (new ConversionRequest (src , dest ));
105+ }
106+
107+ @ Override
108+ public Collection <Object > getCompatibleInputs (Class <?> dest ) {
109+ Set <Object > objects = new LinkedHashSet <Object >();
110+
111+ for (final Converter <?, ?> c : getInstances ()) {
112+ if (dest .isAssignableFrom (c .getOutputType ())) {
113+ c .populateInputCandidates (objects );
114+ }
115+ }
116+
117+ return new ArrayList <Object >(objects );
118+ }
54119
55120 @ Override
56121 public Object convert (Object src , Type dest ) {
0 commit comments