protected boolean isBlack(String upath){ boolean inBlack = false; for (StringMatcher matcher:blacklist){ if (matcher.match(upath)){ inBlack = true; break; } } return inBlack; }
protected boolean isWhite(String upath){ boolean inWhite = whitelist.isEmpty(); for (StringMatcher matcher:whitelist){ if (matcher.match(upath)){ inWhite = true; break; } } return inWhite; }
@Override protected boolean accept(data d) { return matcher == null? true:matcher.match(d.id()); }
@Override protected void onExecute(XsObject root,XsObject current, LogicletContext ctx, ExecuteWatcher watcher) { if (StringUtils.isNotEmpty(id)){ String v = ctx.transform(value); ctx.SetValue(id, Boolean.toString(matcher.match(v))); } }
/** * 是否和指定的IP和服务匹配 * @param _ip IP地址,支持*通配符 * @param _service 服务,支持*通配符 * @return 是否匹配 */ public boolean match(String _ip,String _service){ if (ipMatcher == null){ ipMatcher = new StringMatcher(ip); } if (serviceMatcher == null){ serviceMatcher = new StringMatcher(service); } boolean matched = ipMatcher.match(_ip); if (matched){ matched = serviceMatcher.match(_service); } return matched; } }
@Override public List<String> hKeys(String group, String condition) { List<String> result = new ArrayList<String>(); Map<String,String> mapObject = getMapObject(group,false); if (mapObject != null){ if (isConditionValid(condition)){ StringMatcher matcher = new StringMatcher(condition); Iterator<String> iter = mapObject.keySet().iterator(); while (iter.hasNext()){ String key = iter.next(); if (matcher.match(key)){ result.add(key); } } }else{ Iterator<String> iter = mapObject.keySet().iterator(); while (iter.hasNext()){ result.add(iter.next()); } } } return result; }
@Override public List<String> hKeys(String group,String condition) { List<String> result = new ArrayList<String>(); Map<String,String> mapObject = getMapObject(group,false); if (mapObject != null){ if (isConditionValid(condition)){ StringMatcher matcher = new StringMatcher(condition); Iterator<String> iter = mapObject.keySet().iterator(); while (iter.hasNext()){ String key = iter.next(); if (matcher.match(key)){ result.add(key); } } }else{ Iterator<String> iter = mapObject.keySet().iterator(); while (iter.hasNext()){ result.add(iter.next()); } } } return result; }
@Override public List<String> sMembers(String group,String condition) { List<String> result = new ArrayList<String>(); Set<String> obj = getSetObject(group,false); if (obj != null){ if (isConditionValid(condition)){ StringMatcher matcher = new StringMatcher(condition); Iterator<String> iter = obj.iterator(); while (iter.hasNext()){ String member = iter.next(); if (matcher.match(member)){ result.add(member); } } }else{ Iterator<String> iter = obj.iterator(); while (iter.hasNext()){ result.add(iter.next()); } } } return result; }
@Override public List<String> sMembers(String group, String condition) { List<String> result = new ArrayList<String>(); Set<String> obj = getSetObject(group,false); if (obj != null){ if (isConditionValid(condition)){ StringMatcher matcher = new StringMatcher(condition); Iterator<String> iter = obj.iterator(); while (iter.hasNext()){ String member = iter.next(); if (matcher.match(member)){ result.add(member); } } }else{ Iterator<String> iter = obj.iterator(); while (iter.hasNext()){ result.add(iter.next()); } } } return result; }
@Override public List<Pair<String, String>> hGetAll(String group,String condition) { List<Pair<String,String>> result = new ArrayList<Pair<String,String>>(); Map<String,String> mapObject = getMapObject(group,false); if (mapObject != null){ if (isConditionValid(condition)){ StringMatcher matcher = new StringMatcher(condition); Iterator<Entry<String,String>> iter = mapObject.entrySet().iterator(); while (iter.hasNext()){ Entry<String,String> entry = iter.next(); if (matcher.match(entry.getKey())){ result.add(new Pair.Default<String, String>(entry.getKey(), entry.getValue())); } } }else{ Iterator<Entry<String,String>> iter = mapObject.entrySet().iterator(); while (iter.hasNext()){ Entry<String,String> entry = iter.next(); result.add(new Pair.Default<String, String>(entry.getKey(), entry.getValue())); } } } return result; }
@Override public List<Pair<String, String>> hGetAll(String group, String condition) { List<Pair<String,String>> result = new ArrayList<Pair<String,String>>(); Map<String,String> mapObject = getMapObject(group,false); if (mapObject != null){ if (isConditionValid(condition)){ StringMatcher matcher = new StringMatcher(condition); Iterator<Entry<String,String>> iter = mapObject.entrySet().iterator(); while (iter.hasNext()){ Entry<String,String> entry = iter.next(); if (matcher.match(entry.getKey())){ result.add(new Pair.Default<String, String>(entry.getKey(), entry.getValue())); } } }else{ Iterator<Entry<String,String>> iter = mapObject.entrySet().iterator(); while (iter.hasNext()){ Entry<String,String> entry = iter.next(); result.add(new Pair.Default<String, String>(entry.getKey(), entry.getValue())); } } } return result; }
if (Tool.isField(key,group)){ String field = Tool.getField(key); if (matcher.match(field)){ filtered.add(new Pair.Default<String, String>(field, entry.getValue()));
@Override public List<String> sMembers(String group, String condition) { visited(); List<String> all = set.getAll(); List<String> members = new ArrayList<String>(); if (Tool.isConditionValid(condition)){ StringMatcher matcher = new StringMatcher(condition); for (String m:all){ if (Tool.isField(m,group)){ String field = Tool.getField(m); if (matcher.match(field)){ members.add(field); } } } }else{ for (String m:all){ if (Tool.isField(m,group)){ members.add(Tool.getField(m)); } } } return members; }