private void initScanList() { ClassLoader classLoader = getClass().getClassLoader(); if (classLoader instanceof BootstrapClassLoader) { scanList = new HashSet<>(); scanPatterns = new HashSet<>(); scanPrefixList = new HashSet<>(); scanSuffixList = new HashSet<>(); for (String scanPackage : ((BootstrapClassLoader) classLoader).scanList()) { if (scanPackage.contains("\\.") || scanPackage.contains("*")) { scanPatterns.add(Pattern.compile(scanPackage)); String prefix = S.cut(scanPackage).beforeFirst("\\"); scanPrefixList.add(prefix); String suffix = S.cut(scanPackage).afterLast("*"); scanSuffixList.add(suffix); } else { scanList.add(scanPackage); } } } }
private void initScanList() { ClassLoader classLoader = getClass().getClassLoader(); if (classLoader instanceof BootstrapClassLoader) { scanList = new HashSet<>(); scanPatterns = new HashSet<>(); scanPrefixList = new HashSet<>(); scanSuffixList = new HashSet<>(); for (String scanPackage : ((BootstrapClassLoader) classLoader).scanList()) { if (scanPackage.contains("\\.") || scanPackage.contains("*")) { scanPatterns.add(Pattern.compile(scanPackage)); String prefix = S.cut(scanPackage).beforeFirst("\\"); scanPrefixList.add(prefix); String suffix = S.cut(scanPackage).afterLast("*"); scanSuffixList.add(suffix); } else { scanList.add(scanPackage); } } } }
@Override public void init(Object param) { E.illegalArgumentIfNot(param instanceof List, "2 parameters expected for beforeFirst function"); List<String> list = (List) param; E.illegalArgumentIfNot(list.size() == 2, "2 parameters expected for beforeFirst function"); String targetStr = list.get(0); String search = list.get(1); retVal = S.cut(targetStr).beforeFirst(search); }
} else { if (sKey.contains(".")) { String id = S.cut(key).beforeFirst("."); String prop = S.cut(key).afterFirst("."); if ("?".equals(id) || "<any>".equalsIgnoreCase(id)) {
} else { if (sKey.contains(".")) { String id = S.cut(key).beforeFirst("."); String prop = S.cut(key).afterFirst("."); if ("?".equals(id) || "<any>".equalsIgnoreCase(id)) {
} else { if (key.contains(".")) { String id = S.cut(key).beforeFirst("."); String prop = S.cut(key).afterFirst("."); if ("?".equals(id) || "<any>".equalsIgnoreCase(id)) {
for (File jar : jars) { String filename = jar.getName(); String name = S.cut(filename).beforeFirst("-"); if ("".equals(name)) { name = S.cut(filename).beforeLast(".");
String firstLevel = S.cut(key).beforeFirst("."); Object firstLevelVal = cache.get(firstLevel); if (null != firstLevelVal) {
private Object evalFunc(String funcExpr) { String funcName = funcExpr; List<String> vals = C.list(); if (funcExpr.contains("(")) { funcName = S.cut(funcExpr).beforeFirst("("); String paramStr = S.cut(funcExpr).afterFirst("("); paramStr = S.cut(paramStr).beforeLast(")"); if (S.notBlank(paramStr)) { vals = C.newList(S.fastSplit(paramStr, ",")); for (int i = 0; i < vals.size(); ++i) { String val = S.ensure(vals.get(i).trim()).strippedOff(S.DOUBLE_QUOTES); val = processStringSubstitution(val); vals.set(i, val); } } } Func func = $.convert(funcName).to(Func.class); switch (vals.size()) { case 0: break; case 1: func.init(vals.get(0)); break; default: func.init(vals); } return func.apply(); }
String firstLevel = S.cut(key).beforeFirst("."); Object firstLevelVal = cache.get(firstLevel); if (null != firstLevelVal) {
for (File jar : jars) { String filename = jar.getName(); String name = S.cut(filename).beforeFirst("-"); if ("".equals(name)) { name = S.cut(filename).beforeLast(".");
private Object evalFunc(String funcExpr) { String funcName = funcExpr; List<String> vals = C.list(); if (funcExpr.contains("(")) { funcName = S.cut(funcExpr).beforeFirst("("); String paramStr = S.cut(funcExpr).afterFirst("("); paramStr = S.cut(paramStr).beforeLast(")"); if (S.notBlank(paramStr)) { vals = C.newList(S.fastSplit(paramStr, ",")); for (int i = 0; i < vals.size(); ++i) { String val = S.ensure(vals.get(i).trim()).strippedOff(S.DOUBLE_QUOTES); val = processStringSubstitution(val); vals.set(i, val); } } } Func func = $.convert(funcName).to(Func.class); switch (vals.size()) { case 0: break; case 1: func.init(vals.get(0)); break; default: func.init(vals); } return func.apply(); }
@Override protected void scan() { compileSources(); Set<String> sourcesToBeScanned = findSourcesToBeScanned(); Set<String> libClasses = libClasses(); if (Act.profile().equalsIgnoreCase("test")) { Set<String> toBeRemoved = new HashSet<>(); for (String s : libClasses) { if (s.contains("$")) { String s0 = S.cut(s).beforeFirst("$"); if (sourcesToBeScanned.contains(s0)) { toBeRemoved.add(s); } } } libClasses.removeAll(toBeRemoved); } libClasses.removeAll(sourcesToBeScanned); scan(libClasses); scanSources(sourcesToBeScanned); }
@Override public void init(Object param) { E.illegalArgumentIfNot(param instanceof List, "2 parameters expected for beforeFirst function"); List<String> list = (List) param; E.illegalArgumentIfNot(list.size() == 2, "2 parameters expected for beforeFirst function"); String targetStr = list.get(0); String search = list.get(1); retVal = S.cut(targetStr).beforeFirst(search); }