package com.sissi.field.impl; import java.util.Map; import java.util.Set; import com.sissi.field.Field; import com.sissi.field.FieldMapping; /** * 返回Field.name映射后的名称,如果不存在则直接返回Field.name * * @author kim 2014年6月7日 */ public class MappingFieldMapping implements FieldMapping { private final Map<String, String> mapping; private final Set<String> blocks; /** * @param mapping * @param blocks 黑名单 */ public MappingFieldMapping(Map<String, String> mapping, Set<String> blocks) { super(); this.blocks = blocks; this.mapping = mapping; } @Override public String mapping(Field<?> field) { if (this.blocks.contains(field.getName())) { return null; } String name = this.mapping.get(field.getName()); return name != null ? name : field.getName(); } }