Есть ли способ конкретно сказать Орике, когда отображать данный элемент? Например, я хочу, чтобы Orika отображала мои элементы, только если A.getLastModifiedTime() > B.getLastModifiedTime
. Есть ли способ настроить это как-то?
Проинструктируйте orika, когда следует отображать
Ответы (2)
Это должно помочь:
mapperFactory.classMap(A.class, B.class)
.customize(new CustomMapper<A,B>() {
if(A.getLastModifiedTime() > B.getLastModifiedTime()){
A.getLastModifiedTime() == B.getLastModifiedTime();
}
}).register();
person
Vilius
schedule
16.01.2016
Вы можете использовать фильтры Orika, чтобы отображать или не отображать поле в зависимости от условий выполнения. Самый простой способ — расширить NullFilter Orika.
class MyFilter<A,B> extends NullFilter<A,B> {
private myCondition(S source, D dest) {
...
}
public <S extends A, D extends B> boolean shouldMap(final Type<S> sourceType, final String sourceName, final S source, final Type<D> destType, final String destName,
final MappingContext mappingContext) {
if (destName.equals("lastModifiedTime") && myCondition(source, dest)) {
return false;
}
return true;
}
}
person
Manolo Santos
schedule
10.02.2016