2017-04-25 17 views
1

私がどのように見えるフィールド除外したい:DozerでJavaの文字列リストを除外する方法は?

List<String> fieldNames = new ArrayList<>(); 
fieldNames.add("fieldA"); 
fieldNames.add("fieldB"); 

を、私は、私は次のように何とか設定できドーザウェブページを参照してください。

BeanMappingBuilder builder = new BeanMappingBuilder() { 
    protected void configure() { 
     mapping(AClass.class, BClass.class, 
       TypeMappingOptions.oneWay(), 
       mapNull(true) 
     ) 
     .exclude("fieldA") //here i would like to add exclude but the list 
    } 
}; 

しかし、私は、リストを追加する方法がわかりません.excludeメソッドに文字列を渡すことは...誰でも私に役立つことができますか?

ありがとうございます!マッパー構成の場合

UPDATE

ClassA{ 
    private String fieldA, fieldB,fieldC; //so i would like to map just the fieldC 
} 
ClassB{ 
    private String fieldA, fieldB,fieldC; //so i would like to map just the fieldC 
} 

List<String> fieldNames = new ArrayList<>(); 
fieldNames.add("fieldA"); 
fieldNames.add("fieldB"); 

私はmappnigから除外したいどのようなフィールド名が存在します。 は、だから私はマッピングする際、私は は何とかのために行く...そして、それを除外...リスト変数をマップしたいいけない...

.exclude(list.foreach(listElement -> listElement.toString())) // or i dont know how can i do that 

答えて

1

最後に、私はこのsollutionを作りました。

DozerBeanMapper mapper = new DozerBeanMapper(); 
List<String> excludeList = new ArrayList<>(); 
excludeList.add("fieldA"); 
BeanMappingBuilder builder = new BeanMappingBuilder() { 
      protected void configure() { 
       TypeMappingBuilder typeMappingBuilder = mapping(ClassA.class, ClassB.class); 
       excludeList.forEach(typeMappingBuilder::exclude); 
     }; 
mapper.addMapping(builder); 
関連する問題