private JClassType extractMappedType ( JClassType interfaceClass ) throws UnableToCompleteException { JClassType intf = interfaceClass . isInterface ( ) ; if ( intf == null ) { logger . log ( TreeLogger . Type . ERROR , "Expected " + interfaceClass + " to be an interface." ) ; throw new UnableToCompleteException ( ) ; } JClassType [ ] intfs = intf . getImplementedInterfaces ( ) ; for ( JClassType t : intfs ) { if ( t . getQualifiedSourceName ( ) . equals ( OBJECT_MAPPER_CLASS ) ) { return extractParameterizedType ( OBJECT_MAPPER_CLASS , t . isParameterized ( ) ) ; } else if ( t . getQualifiedSourceName ( ) . equals ( OBJECT_READER_CLASS ) ) { return extractParameterizedType ( OBJECT_READER_CLASS , t . isParameterized ( ) ) ; } else if ( t . getQualifiedSourceName ( ) . equals ( OBJECT_WRITER_CLASS ) ) { return extractParameterizedType ( OBJECT_WRITER_CLASS , t . isParameterized ( ) ) ; } } logger . log ( TreeLogger . Type . ERROR , "Expected " + interfaceClass + " to extend one of the following interface : " + OBJECT_MAPPER_CLASS + ", " + OBJECT_READER_CLASS + " or " + OBJECT_WRITER_CLASS ) ; throw new UnableToCompleteException ( ) ; }
Extract the type to map from the interface .