/** * Clones this finder. * @return A new InlineCodeFinder object that is a copy of this one. */ @Override public InlineCodeFinder clone () { InlineCodeFinder tmp = new InlineCodeFinder(); tmp.setSample(sample); tmp.setUseAllRulesWhenTesting(useAllRulesWhenTesting); tmp.getRules().addAll(getRules()); return tmp; }
private void processWithSubfilter(String parentId, ITextUnit parentTu) { if ( this.encoderManager != null ) { this.encoderManager.setDefaultOptions(params, encoding, lineBreak); this.encoderManager.updateEncoder(MimeTypeMapper.PROPERTIES_MIME_TYPE); } SubFilter subfilter = new SubFilter(sf, encoderManager.getEncoder(), ++sectionIndex, parentId, parentTu.getName()); subfilter.open(new RawDocument(parentTu.getSource().toString(), srcLocale)); // if this is an html or xmlstream filter then set inline code // rules used to parse Java property codes if (sf.getName().startsWith("okf_html") || sf.getName().startsWith("okf_xmlstream")) { AbstractMarkupEventBuilder eb = (AbstractMarkupEventBuilder) ((AbstractMarkupFilter) sf) .getEventBuilder(); eb.initializeCodeFinder(params.isUseCodeFinder(), params .getCodeFinder().getRules()); } while (subfilter.hasNext()) { Event e = subfilter.next(); queue.add(e); } subfilter.close(); queue.add(subfilter.createRefEvent(parentTu)); }