1/* 2 ******************************************************************************* 3 * Copyright (C) 2008, International Business Machines Corporation and * 4 * others. All Rights Reserved. * 5 ******************************************************************************* 6 */ 7package com.ibm.icu.impl.jdkadapter; 8 9import java.text.CharacterIterator; 10 11import com.ibm.icu.text.BreakIterator; 12 13/** 14 * BreakIteratorICU is an adapter class which wraps ICU4J BreakIterator and 15 * implements java.text.BreakIterator APIs. 16 */ 17public class BreakIteratorICU extends java.text.BreakIterator { 18 19 private BreakIterator fIcuBrkItr; 20 21 private BreakIteratorICU(BreakIterator icuBrkItr) { 22 fIcuBrkItr = icuBrkItr; 23 } 24 25 public static java.text.BreakIterator wrap(BreakIterator icuBrkItr) { 26 return new BreakIteratorICU(icuBrkItr); 27 } 28 29 public BreakIterator unwrap() { 30 return fIcuBrkItr; 31 } 32 33 @Override 34 public Object clone() { 35 BreakIteratorICU other = (BreakIteratorICU)super.clone(); 36 other.fIcuBrkItr = (BreakIterator)fIcuBrkItr.clone(); 37 return other; 38 } 39 40 @Override 41 public int current() { 42 return fIcuBrkItr.current(); 43 } 44 45 @Override 46 public int first() { 47 return fIcuBrkItr.first(); 48 } 49 50 @Override 51 public int following(int offset) { 52 return fIcuBrkItr.following(offset); 53 } 54 55 @Override 56 public CharacterIterator getText() { 57 return fIcuBrkItr.getText(); 58 } 59 60 @Override 61 public boolean isBoundary(int offset) { 62 return fIcuBrkItr.isBoundary(offset); 63 } 64 65 @Override 66 public int last() { 67 return fIcuBrkItr.last(); 68 } 69 70 @Override 71 public int next() { 72 return fIcuBrkItr.next(); 73 } 74 75 @Override 76 public int next(int n) { 77 return fIcuBrkItr.next(n); 78 } 79 80 @Override 81 public int preceding(int offset) { 82 return fIcuBrkItr.preceding(offset); 83 } 84 85 @Override 86 public int previous() { 87 return fIcuBrkItr.previous(); 88 } 89 90 @Override 91 public void setText(CharacterIterator newText) { 92 fIcuBrkItr.setText(newText); 93 } 94 95 @Override 96 public void setText(String newText) { 97 fIcuBrkItr.setText(newText); 98 } 99 100} 101