public static StackParser getParser(ParserConfig config, String filter, boolean isInclude) { StackParser parser = null; if (filter != null) { if (isInclude) { parser = new FilterStackParser(); } else { parser = new FilterExcludeStackParser(); } parser.setFilter(filter); } else { String parserName = config.getParserName(); if (parserName == null) { parser = new BasicFileStackParser(); } else { if (parserName.indexOf(',') < 0) { parserName = "scouter.client.stack.data." + parserName; } try { @SuppressWarnings("rawtypes") Class cl = Class.forName(parserName); parser = (StackParser) cl.newInstance(); } catch (Exception ex) { throw new RuntimeException(ex); } } } parser.setConfig(config); return parser; }