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