public void setCodeFinderData (String data) { codeFinder.fromString(data); }
public void reset () { super.reset(); setEscapeGT(false); setDecodeByteValues(false); setUseCodeFinder(true); codeFinder = new InlineCodeFinder(); codeFinder.setSample("%s, %d, {1}, \\n, \\r, \\t, etc."); codeFinder.setUseAllRulesWhenTesting(true); // Default in-line codes: special escaped-chars and printf-style variable codeFinder.addRule("%(([-0+#]?)[-0+#]?)((\\d\\$)?)(([\\d\\*]*)(\\.[\\d\\*]*)?)[dioxXucsfeEgGpn]"); codeFinder.addRule("(\\\\r\\\\n)|\\\\a|\\\\b|\\\\f|\\\\n|\\\\r|\\\\t|\\\\v"); //TODO: Add Java-style variables. this is too basic codeFinder.addRule("\\{\\d[^\\\\]*?\\}"); setSimplifierRules(null); }
/** * Initializes the code finder. this must be called before the first time using it, for example * when starting to process the inputs. * @param useCodeFinder true to use the code finder. * @param rules the string representation of the rules. */ public void initializeCodeFinder (boolean useCodeFinder, String rules) { this.useCodeFinder = useCodeFinder; if ( useCodeFinder ) { codeFinder.fromString(rules); codeFinder.compile(); } }
/** * 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; }
@Override protected void parameters_reset() { unescapeSource = true; trimLeading = false; trimTrailing = false; preserveWS = true; useCodeFinder = false; // Default in-line codes: special escaped-chars and printf-style variable codeFinder = new InlineCodeFinder(); // Default in-line codes: special escaped-chars and printf-style variable codeFinder.addRule("%(([-0+#]?)[-0+#]?)((\\d\\$)?)(([\\d\\*]*)(\\.[\\d\\*]*)?)[dioxXucsfeEgGpn]"); codeFinder.addRule("(\\\\r\\\\n)|\\\\a|\\\\b|\\\\f|\\\\n|\\\\r|\\\\t|\\\\v"); codeFinderRules = codeFinder.toString(); wrapMode = WrapMode.NONE; subfilter = null; }
public String getCodeFinderRules () { return codeFinder.toString(); }
private TextFragment toAbstract (TextFragment frag) { // If the entry is from extraction/merge mode try to convert the inline codes if ( originalTuId != null ) { // At this point the fragment should not be segmented nor have any inline codes GenericContent.fromLetterCodedToFragment(frag.getCodedText(), frag, false, true); } else { // Else: Normal PO entry // Sets the inline codes if ( params.getUseCodeFinder() ) { params.getCodeFinder().process(frag); } } return frag; }
public void compileRules () { for ( Rule rule : rules ) { // Compile the full pattern rule.pattern = Pattern.compile(rule.expr, getRegexOptions()); // Compile any used in-line code rules for this rule if ( rule.useCodeFinder ) { rule.codeFinder.compile(); } } }
/** * Initializes the code finder. this must be called before the first time using it, for example * when starting to process the inputs. * @param useCodeFinder true to use the code finder. * @param rules the string representation of the rules. */ public void initializeCodeFinder (boolean useCodeFinder, List<String> rules) { this.useCodeFinder = useCodeFinder; if ( useCodeFinder ) { codeFinder.reset(); for (String r : rules) { codeFinder.addRule(r); } codeFinder.compile(); } }
public Rule () { ruleName = ""; expr = ""; sourceGroup = -1; targetGroup = -1; nameGroup = -1; noteGroup = -1; codeFinder = new InlineCodeFinder(); preserveWS = true; sample = ""; }
@Override public void reset () { doc = null; docURI = null; codeFinder = new InlineCodeFinder(); useCodeFinder = false; codeFinder.reset(); escapeGT = true; escapeNbsp = true; protectEntityRef = true; escapeLineBreak = false; lineBreakAsCode = false; omitXMLDeclaration = false; // Forced write-only default options quoteModeDefined = true; quoteMode = 3; // escape quot, not apos // Quote escaping option escapeQuotes = true; extractIfOnlyCodes = true; mapAnnotations = true; inlineCdata = false; simplifierRules = null; }
public String getCodeFinderData () { return codeFinder.toString(); }
private void checkInlineCodes (TextFragment tf) { if ( params.getUseCodeFinder() ) { params.getCodeFinder().process(tf); } // Escape inline code content List<Code> codes = tf.getCodes(); for ( Code code : codes ) { // Escape the data of the new inline code (and only them) if ( code.getType().equals(InlineCodeFinder.TAGTYPE) ) { code.setData(encoder.encode(code.getData(), EncoderContext.SKELETON)); } } }
params.getCodeFinder().compile();
public AbstractMarkupEventBuilder(String rootId, IFilter subFilter, EncoderManager encoderManager, String encoding, String lineBreak) { super(rootId, subFilter); codeFinder = new InlineCodeFinder(); this.encoderManager = encoderManager; this.encoding = encoding; this.lineBreak = lineBreak; }
@Override public void reset () { super.reset(); setMaxValidation(true); setMergeAsParagraph(false); setUseCodeFinder(false); codeFinder = new InlineCodeFinder(); codeFinder.setSample("&name; <tag></at><tag/> <tag attr='val'> </tag=\"val\">"); codeFinder.setUseAllRulesWhenTesting(true); codeFinder.addRule("</?([A-Z0-9a-z]*)\\b[^>]*>"); setSimplifyTags(true); setNeedsSegmentation(false); }
public void setCodeFinderRules (String value) { codeFinder.fromString(value); }
public String getCodeFinderData () { return codeFinder.toString(); }
public void open(RawDocument input, boolean generateSkeleton) { this.input = input; lineNumber = 0; if (input == null) throw new OkapiBadFilterInputException("Input RawDocument is not defined."); else if (regex != null) regex.open(input, generateSkeleton); // Initialization if ( this.params.useCodeFinder && ( codeFinder != null )) { codeFinder.fromString(this.params.codeFinderRules); codeFinder.compile(); } }
rule.codeFinder.process(tuRes.getSource().getFirstContent());