public String executeAndGetRemaining(final String line, StripeSimple stripe) { final Matcher2 m = p.matcher(line); if (m.find() == false) { throw new IllegalStateException(); } final FontConfiguration fc1 = stripe.getActualFontConfiguration(); final FontConfiguration fc2 = new AddStyle(style, getExtendedColor(m)).apply(fc1); stripe.setActualFontConfiguration(fc2); final int groupCount = m.groupCount(); stripe.analyzeAndAdd(m.group(groupCount)); stripe.setActualFontConfiguration(fc1); return line.substring(m.group(1).length()); }
public int matchingSize(String line) { final Matcher2 m = p.matcher(line); if (m.find() == false) { return 0; } return m.group(1).length(); }
private CharSequence2 manageDefineLong(Matcher2 m) throws IOException { final String group1 = m.group(1); final List<String> def = new ArrayList<String>(); while (true) { final CharSequence2 read = this.readLine(); if (read == null) { return null; } def.add(read.toString2()); if (enddefinelongPattern.matcher(read).find()) { defines.define(group1, def); return this.readLine(); } } }
private CharSequence2 manageDefine(Matcher2 m) throws IOException { final String group1 = m.group(1); final String group2 = m.group(2); if (group2 == null) { defines.define(group1, null); } else { final List<String> strings = defines.applyDefines(group2); if (strings.size() > 1) { defines.define(group1, strings); } else { final StringBuilder value = new StringBuilder(strings.get(0)); while (StringUtils.endsWithBackslash(value.toString())) { value.setLength(value.length() - 1); final CharSequence2 read = this.readLine(); value.append(read.toString2()); } final List<String> li = new ArrayList<String>(); li.add(value.toString()); defines.define(group1, li); } } return this.readLine(); }
private CharSequence2 manageUndef(Matcher2 m) throws IOException { defines.undefine(m.group(1)); return this.readLine(); }
private HtmlColor getExtendedColor(Matcher2 m) { if (tryExtendedColor) { return style.getExtendedColor(m.group(2)); } return null; }