2 *******************************************************************************
3 * Copyright (C) 1996-2010, International Business Machines Corporation and *
4 * others. All Rights Reserved. *
5 *******************************************************************************
7 package com.ibm.icu.text;
11 * A transliterator that removes characters. This is useful in conjunction
14 class RemoveTransliterator extends Transliterator {
17 * ID for this transliterator.
19 private static String _ID = "Any-Remove";
22 * System registration hook.
24 static void register() {
25 Transliterator.registerFactory(_ID, new Transliterator.Factory() {
26 public Transliterator getInstance(String ID) {
27 return new RemoveTransliterator();
30 Transliterator.registerSpecialInverse("Remove", "Null", false);
34 * Constructs a transliterator.
36 public RemoveTransliterator() {
41 * Implements {@link Transliterator#handleTransliterate}.
43 protected void handleTransliterate(Replaceable text,
44 Position index, boolean incremental) {
45 // Our caller (filteredTransliterate) has already narrowed us
46 // to an unfiltered run. Delete it.
47 text.replace(index.start, index.limit, "");
48 int len = index.limit - index.start;
49 index.contextLimit -= len;
54 * @see com.ibm.icu.text.Transliterator#addSourceTargetSet(boolean, com.ibm.icu.text.UnicodeSet, com.ibm.icu.text.UnicodeSet)
57 public void addSourceTargetSet(UnicodeSet inputFilter, UnicodeSet sourceSet, UnicodeSet targetSet) {
58 // intersect myFilter with the input filter
59 UnicodeSet myFilter = getFilterAsUnicodeSet(inputFilter);
60 sourceSet.addAll(myFilter);
61 // do nothing with the target