001 // License: GPL. For details, see LICENSE file.
002 package org.openstreetmap.josm.tools.template_engine;
003
004 import org.openstreetmap.josm.actions.search.SearchCompiler.Match;
005
006 public class SearchExpressionCondition implements TemplateEntry {
007
008 private final Match condition;
009 private final TemplateEntry text;
010
011 public SearchExpressionCondition(Match condition, TemplateEntry text) {
012 this.condition = condition;
013 this.text = text;
014 }
015
016 @Override
017 public void appendText(StringBuilder result, TemplateEngineDataProvider dataProvider) {
018 text.appendText(result, dataProvider);
019 }
020
021 @Override
022 public boolean isValid(TemplateEngineDataProvider dataProvider) {
023 return dataProvider.evaluateCondition(condition);
024 }
025
026 @Override
027 public String toString() {
028 return condition.toString() + " '" + text.toString() + "'";
029 }
030
031 }