package foundation.clean; import foundation.dao.preload.Bucket; import foundation.data.entity.Entity; import foundation.json.JSONReader; public class CleanEngine { private String id; private String name; private Bucket ruleBucket; private String remark; public void load(Entity entity) throws Exception { id = entity.getString("id"); name = entity.getString("name"); remark = entity.getString("remark"); } public void loadOneRule(Entity entity) throws Exception { Rule oneRule = new Rule(); oneRule.load(entity); if (ruleBucket == null) { ruleBucket = new Bucket(); } ruleBucket.loadOne(entity.getId(), oneRule); } public String modify(String value) throws Exception { for(Rule rule: ruleBucket) { String result = rule.match(value); if (result != null) { // return result value if match anyone rule return result; } } return null; } public JSONReader modify(JSONReader data, String field) throws Exception { JSONReader json = data; String value = json.getString(field); for(Rule rule: ruleBucket) { String result = rule.match(value); if (result != null) { // return json value if match anyone rule json.put(field, result); return json; } } return null; } public Entity modify(Entity entity, String field) throws Exception { Entity data = entity; String value = data.getString(field); for(Rule rule: ruleBucket) { String result = rule.match(value); if (result != null) { // return entity value if match anyone rule data.set(field, result); return data; } } return null; } public String getId() { return id; } public String getName() { return name; } public Bucket getRuleBucket() { return ruleBucket; } public String getRemark() { return remark; } }