| When binding a ValueBridge to a property, we currently check that the first type argument to the ValueBridge interface in the concrete bridge implementation matches the type of the property. E.g. if the bridge implements ValueBridge<Number, ...> then the property must be of type Number or a subtype (Integer, Double, ...). This check is done using TypePatternMatcher implementations created by org.hibernate.search.v6poc.entity.pojo.model.typepattern.impl.TypePatternMatcherFactory#create. But currently don't support everything. In particular we don't support parameterized types with bounded type variables or bounded wildcards. E.g. implements ValueBridge<List<?>, ...> is valid, but implements ValueBridge<List<? extends Number>, ...> is not. |