/** * Add a filterset. * @return a filter set object. */ public FilterSet createFilterSet() { final FilterSet filterSet = new FilterSet(); filterSets.addElement(filterSet); return filterSet; }
/** * Add a filter to the set of global filters. * * @param token The token to filter. * Must not be <code>null</code>. * @param value The replacement value. * Must not be <code>null</code>. * @deprecated since 1.4.x. * Use getGlobalFilterSet().addFilter(token,value) * * @see #getGlobalFilterSet() * @see FilterSet#addFilter(String,String) */ @Deprecated public void addFilter(final String token, final String value) { if (token == null) { return; } globalFilterSet.addFilter(new FilterSet.Filter(token, value)); }
String beginToken = getBeginToken(); String endToken = getEndToken(); int index = line.indexOf(beginToken); Hashtable<String, String> tokens = getFilterHash(); try { StringBuilder b = new StringBuilder(); if (recurse && !value.equals(token)) { value = replaceTokens(value, token); log("Replacing: " + beginToken + token + endToken + " -> " + value, Project.MSG_VERBOSE); b.append(value);
/** * Get the end token for this filterset. * * @return the filter set's end token for replacement delimiting. */ public String getEndToken() { if (isReference()) { return getRef().getEndToken(); } return endOfToken; }
/** * Get the begin token for this filterset. * * @return the filter set's begin token for filtering. */ public String getBeginToken() { if (isReference()) { return getRef().getBeginToken(); } return startOfToken; }
/** * Add a Filterset to this filter set. * * @param filterSet the filterset to be added to this filterset */ public synchronized void addConfiguredFilterSet(FilterSet filterSet) { if (isReference()) { throw noChildrenAllowed(); } for (Filter filter : filterSet.getFilters()) { addFilter(filter); } }
if (isReference()) { throw tooManyAttributes(); handleMissingFile("Could not read filters from file " + filtersFile + " as it doesn't exist."); log("Reading filters from " + filtersFile, Project.MSG_VERBOSE); try (InputStream in = Files.newInputStream(filtersFile.toPath())) { Properties props = new Properties(); props.load(in); props.forEach((k, v) -> addFilter(new Filter((String) k, (String) v))); } catch (Exception ex) { throw new BuildException( handleMissingFile("Must specify a file rather than a directory in " + "the filtersfile attribute:" + filtersFile);
/** * Clone the filterset. * * @return a deep clone of this filterset. * * @throws BuildException if the clone cannot be performed. */ @Override public synchronized Object clone() throws BuildException { if (isReference()) { return getRef().clone(); } try { FilterSet fs = (FilterSet) super.clone(); @SuppressWarnings("unchecked") Vector<Filter> clonedFilters = (Vector<Filter>) getFilters().clone(); fs.filters = clonedFilters; fs.setProject(getProject()); return fs; } catch (CloneNotSupportedException e) { throw new BuildException(e); } }
tmpStr.lastIndexOf(this.filter.getBeginToken()); if (lastBeginToken != -1) { tmpStr.indexOf(this.filter.getEndToken(), lastBeginToken); if (lastEndToken == -1) { String toPush = tmpStr.substring(lastBeginToken); String replaced = this.filter.replaceTokens(tmpStr); this.buffer = replaced.getBytes(); this.index = 0;
/** * Get the filters in the filter set. * * @return a Vector of Filter instances. */ protected synchronized Vector<Filter> getFilters() { if (isReference()) { return getRef().getFilters(); } dieOnCircularReference(); // silly hack to avoid stack overflow... if (!readingFiles) { readingFiles = true; for (File filtersFile : filtersFiles) { readFiltersFromFile(filtersFile); } filtersFiles.clear(); readingFiles = false; } return filters; }
/** * Add a new filter made from the given token and value. * * @param token The token for the new filter. * @param value The value for the new filter. */ public synchronized void addFilter(String token, String value) { if (isReference()) { throw noChildrenAllowed(); } addFilter(new Filter(token, value)); }
/** * Gets the filter hash of the FilterSet. * * @return The hash of the tokens and values for quick lookup. */ public synchronized Hashtable<String, String> getFilterHash() { if (isReference()) { return getRef().getFilterHash(); } dieOnCircularReference(); if (filterHash == null) { filterHash = new Hashtable<>(getFilters().size()); getFilters().forEach(filter -> filterHash.put(filter.getToken(), filter.getValue())); } return filterHash; }
public void clear() { this.filters.clear(); this.filter = new FilterSet(); this.filter.setBeginToken(DEFAULT_TOKEN_BEGIN); this.filter.setEndToken(DEFAULT_TOKEN_END); }
String beginToken = getBeginToken(); String endToken = getEndToken(); if (recurseDepth == 0) { passedTokens = new VectorSet<>(); String value = iReplaceTokens(line); if (!value.contains(beginToken) && !duplicateToken && recurseDepth == 1) { passedTokens = null;
/** * Does replacement on the given string with token matching. * This uses the defined begintoken and endtoken values which default to @ for both. * * @param line The line to process the tokens in. * @return The string with the tokens replaced. */ public String replaceTokens(String line) { String replacedLine = line; for (FilterSet filterSet : filterSets) { replacedLine = filterSet.replaceTokens(replacedLine); } return replacedLine; }
final FilterSet set = new FilterSet(); set.setFiltersfile(preferences);
tmpStr.lastIndexOf(this.filter.getBeginToken()); if (lastBeginToken != -1) { tmpStr.indexOf(this.filter.getEndToken(), lastBeginToken); if (lastEndToken == -1) { String toPush = tmpStr.substring(lastBeginToken); this.buffer = this.filter.replaceTokens(tmpStr); this.index = 0;
/** * Adds the properties provided by the specified PropertySet to this filterset. * * @param propertySet the propertyset to be added to this propertyset */ public synchronized void addConfiguredPropertySet(PropertySet propertySet) { if (isReference()) { throw noChildrenAllowed(); } Properties p = propertySet.getProperties(); Set<Map.Entry<Object, Object>> entries = p.entrySet(); for (Map.Entry<Object, Object> entry : entries) { addFilter(new Filter(String.valueOf(entry.getKey()), String.valueOf(entry.getValue()))); } }
public TokenReplacerFilterInputStream(InputStream in) { super(in); this.is = new PushbackInputStream(in, DEFAULT_BUFSIZ); this.buffer = null; this.index = 0; this.filter = new FilterSet(); this.filter.setBeginToken(DEFAULT_TOKEN_BEGIN); this.filter.setEndToken(DEFAULT_TOKEN_END); }
public String replaceTokens(String input) { return this.filter.replaceTokens(input); }