blob: 96026ad421e8074f9193a95e63911b03f66b159c [file] [log] [blame]
// Copyright (C) 2009 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package com.google.gwtexpui.safehtml.client;
import com.google.gwt.regexp.shared.RegExp;
/**
* A Find/Replace pair whose replacement string is arbitrary HTML.
* <p>
* <b>WARNING:</b> This class is not safe used with user-provided patterns.
*/
public class RawFindReplace implements FindReplace {
private RegExp pat;
private String replace;
protected RawFindReplace() {
}
/**
* @param find regular expression pattern to match substrings with.
* @param replace replacement expression. Capture groups within
* {@code find} can be referenced with {@code $<i>n</i>}.
*/
public RawFindReplace(String find, String replace) {
this.pat = RegExp.compile(find);
this.replace = replace;
}
@Override
public RegExp pattern() {
return pat;
}
@Override
public String replace(String input) {
return pat.replace(input, replace);
}
@Override
public String toString() {
return "find = " + pat.getSource() + ", replace = " + replace;
}
}