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