2014-02-21 4 views
0

Я хотел бы спросить, можно ли его настроить в Json Serializing a Filter во время выполнения?Можно ли настроить FilterProvider во время выполнения?

Мои Sourcelooks как:

FilterProvider filters = new SimpleFilterProvider() 
      .addFilter("XXX",SimpleBeanPropertyFilter.serializeAllExcept(JsonFilterSerializer.getInstance().getMyView())); 
      String json= mapper.writer(filters).withDefaultPrettyPrinter().writeValueAsString(obj); 

Решение мне нужно, как:

  FilterProvider filters = new SimpleFilterProvider(); 
if(x==true) 
      filters.addFilter("XXX",SimpleBeanPropertyFilter.serializeAllExcept(JsonFilterSerializer.getInstance().getXXXView())); 
      if(y==true) 
      filters.addFilter("YYY",SimpleBeanPropertyFilter.serializeAllExcept(JsonFilterSerializer.getInstance().getYYYView())); 
      if(z==true) 
      filters.addFilter("ZZZ",SimpleBeanPropertyFilter.serializeAllExcept(JsonFilterSerializer.getInstance().getZZZView())); 

     String json= mapper.writer(filters).withDefaultPrettyPrinter().writeValueAsString(obj); 

Дело в том, я хотел бы добавить взгляды фильтра к моему картографа через If. В противном случае я должен добавить их в каждом случае отдельно, что я считаю очень обходным.

ответ

0

Решение: (немного грязный)

String[] xxx= JsonFilterSerializer.getInstance().getxxxView(); 
FilterProvider filters = new SimpleFilterProvider() 
       .addFilter("xxxx",SimpleBeanPropertyFilter.serializeAllExcept(xxx)) 

Это может быть завернуты в случае случая, чтобы решить эту проблему, так как я сделал.

Надеюсь, это поможет.

Смежные вопросы