17
17
package com .ckkloverdos .convert
18
18
19
19
/**
20
- *
20
+ *
21
21
* @author Christos KK Loverdos <loverdos@gmail.com>.
22
22
*/
23
23
class SourceTargetConverter [SS , TT ](
@@ -84,14 +84,30 @@ object SourceTargetConverter {
84
84
givenSourceType : Manifest [_],
85
85
givenTargetType : Manifest [_]): Boolean = {
86
86
87
- sourceType.erasure.equals(givenSourceType.erasure) && targetType.erasure.equals(givenTargetType.erasure)
87
+ canConvertWithStrictSource(sourceType.erasure, targetType.erasure, givenSourceType, givenTargetType)
88
+ }
89
+
90
+ def canConvertWithStrictSource (sourceType : Class [_],
91
+ targetType : Class [_],
92
+ givenSourceType : Manifest [_],
93
+ givenTargetType : Manifest [_]): Boolean = {
94
+
95
+ sourceType.equals(givenSourceType.erasure) && targetType.equals(givenTargetType.erasure)
88
96
}
89
97
90
98
def canConvertWithNonStrictSource (sourceType : Manifest [_],
91
99
targetType : Manifest [_],
92
100
givenSourceType : Manifest [_],
93
101
givenTargetType : Manifest [_]): Boolean = {
94
102
95
- sourceType.erasure.isAssignableFrom(givenSourceType.erasure) && targetType.erasure.equals(givenTargetType.erasure)
103
+ canConvertWithNonStrictSource(sourceType.erasure, targetType.erasure, givenSourceType, givenTargetType)
104
+ }
105
+
106
+ def canConvertWithNonStrictSource (sourceType : Class [_],
107
+ targetType : Class [_],
108
+ givenSourceType : Manifest [_],
109
+ givenTargetType : Manifest [_]): Boolean = {
110
+
111
+ sourceType.isAssignableFrom(givenSourceType.erasure) && targetType.equals(givenTargetType.erasure)
96
112
}
97
113
}
0 commit comments