mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-13 08:53:20 +00:00
ICU-22789 Create top level classes for builders of concrete Segmenter types
This commit is contained in:
parent
e0f3554b33
commit
f12d724f50
7 changed files with 59 additions and 60 deletions
icu4j/main/core/src
main/java/com/ibm/icu/text/segmenter
LocalizedSegmenter.javaLocalizedSegmenterBuilder.javaRuleBasedSegmenter.javaRuleBasedSegmenterBuilder.java
test/java/com/ibm/icu/dev/test/text/segmenter
|
@ -17,10 +17,6 @@ public class LocalizedSegmenter implements Segmenter {
|
|||
return new LocalizedSegments(s, this);
|
||||
}
|
||||
|
||||
public static Builder builder() {
|
||||
return new Builder();
|
||||
}
|
||||
|
||||
LocalizedSegmenter(ULocale locale, SegmentationType segmentationType) {
|
||||
this.locale = locale;
|
||||
this.segmentationType = segmentationType;
|
||||
|
@ -59,30 +55,6 @@ public class LocalizedSegmenter implements Segmenter {
|
|||
SENTENCE,
|
||||
}
|
||||
|
||||
public static class Builder {
|
||||
|
||||
private ULocale locale = ULocale.ROOT;
|
||||
|
||||
private SegmentationType segmentationType = SegmentationType.GRAPHEME_CLUSTER;
|
||||
|
||||
Builder() { }
|
||||
|
||||
public Builder setLocale(ULocale locale) {
|
||||
this.locale = locale;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setSegmentationType(SegmentationType segmentationType) {
|
||||
this.segmentationType = segmentationType;
|
||||
return this;
|
||||
}
|
||||
|
||||
public LocalizedSegmenter build() {
|
||||
return new LocalizedSegmenter(this.locale, this.segmentationType);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public class LocalizedSegments implements Segments {
|
||||
|
||||
private CharSequence source;
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
package com.ibm.icu.text.segmenter;
|
||||
|
||||
import com.ibm.icu.text.segmenter.LocalizedSegmenter.SegmentationType;
|
||||
import com.ibm.icu.util.ULocale;
|
||||
|
||||
public class LocalizedSegmenterBuilder {
|
||||
|
||||
private ULocale locale = ULocale.ROOT;
|
||||
|
||||
private SegmentationType segmentationType = SegmentationType.GRAPHEME_CLUSTER;
|
||||
|
||||
public LocalizedSegmenterBuilder() { }
|
||||
|
||||
public LocalizedSegmenterBuilder setLocale(ULocale locale) {
|
||||
this.locale = locale;
|
||||
return this;
|
||||
}
|
||||
|
||||
public LocalizedSegmenterBuilder setSegmentationType(SegmentationType segmentationType) {
|
||||
this.segmentationType = segmentationType;
|
||||
return this;
|
||||
}
|
||||
|
||||
public LocalizedSegmenter build() {
|
||||
return new LocalizedSegmenter(this.locale, this.segmentationType);
|
||||
}
|
||||
}
|
|
@ -15,10 +15,6 @@ public class RuleBasedSegmenter implements Segmenter {
|
|||
return new RuleBasedSegments(s, this);
|
||||
}
|
||||
|
||||
public static Builder builder() {
|
||||
return new Builder();
|
||||
}
|
||||
|
||||
RuleBasedSegmenter(String rules) {
|
||||
this.rules = rules;
|
||||
}
|
||||
|
@ -33,22 +29,6 @@ public class RuleBasedSegmenter implements Segmenter {
|
|||
return new RuleBasedBreakIterator(this.rules);
|
||||
}
|
||||
|
||||
public static class Builder {
|
||||
|
||||
String rules;
|
||||
|
||||
Builder() { }
|
||||
|
||||
public Builder setRules(String rules) {
|
||||
this.rules = rules;
|
||||
return this;
|
||||
}
|
||||
|
||||
public RuleBasedSegmenter build() {
|
||||
return new RuleBasedSegmenter(this.rules);
|
||||
}
|
||||
}
|
||||
|
||||
public static class RuleBasedSegments implements Segments {
|
||||
private CharSequence source;
|
||||
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
package com.ibm.icu.text.segmenter;
|
||||
|
||||
public class RuleBasedSegmenterBuilder {
|
||||
|
||||
String rules;
|
||||
|
||||
public RuleBasedSegmenterBuilder() { }
|
||||
|
||||
public RuleBasedSegmenterBuilder setRules(String rules) {
|
||||
this.rules = rules;
|
||||
return this;
|
||||
}
|
||||
|
||||
public RuleBasedSegmenter build() {
|
||||
return new RuleBasedSegmenter(this.rules);
|
||||
}
|
||||
}
|
|
@ -6,6 +6,7 @@ import static org.hamcrest.MatcherAssert.assertThat;
|
|||
import com.ibm.icu.dev.test.CoreTestFmwk;
|
||||
import com.ibm.icu.text.segmenter.LocalizedSegmenter;
|
||||
import com.ibm.icu.text.segmenter.LocalizedSegmenter.SegmentationType;
|
||||
import com.ibm.icu.text.segmenter.LocalizedSegmenterBuilder;
|
||||
import com.ibm.icu.text.segmenter.Segmenter;
|
||||
import com.ibm.icu.text.segmenter.Segments;
|
||||
import com.ibm.icu.util.ULocale;
|
||||
|
@ -34,7 +35,7 @@ public class LocalizedSegmenterTest extends CoreTestFmwk {
|
|||
List<CharSequence> expWords = (List<CharSequence>) caseDatum[1];
|
||||
|
||||
Segmenter wordSeg =
|
||||
LocalizedSegmenter.builder()
|
||||
new LocalizedSegmenterBuilder()
|
||||
.setLocale(locale)
|
||||
.setSegmentationType(SegmentationType.WORD)
|
||||
.build();
|
||||
|
|
|
@ -5,6 +5,7 @@ import static org.hamcrest.MatcherAssert.assertThat;
|
|||
|
||||
import com.ibm.icu.dev.test.CoreTestFmwk;
|
||||
import com.ibm.icu.text.segmenter.RuleBasedSegmenter;
|
||||
import com.ibm.icu.text.segmenter.RuleBasedSegmenterBuilder;
|
||||
import com.ibm.icu.text.segmenter.Segmenter;
|
||||
import com.ibm.icu.text.segmenter.Segments;
|
||||
import java.util.Arrays;
|
||||
|
@ -34,7 +35,7 @@ public class RuleBasedSegmenterTest extends CoreTestFmwk {
|
|||
// the following rule substring was taken as a subset from BreakIteratorRules_en_US_TEST.java:
|
||||
String rules = subrule;
|
||||
|
||||
Segmenter seg = RuleBasedSegmenter.builder()
|
||||
Segmenter seg = new RuleBasedSegmenterBuilder()
|
||||
.setRules(rules)
|
||||
.build();
|
||||
Segments segments = seg.segment(source);
|
||||
|
|
|
@ -6,6 +6,7 @@ import static org.hamcrest.MatcherAssert.assertThat;
|
|||
import com.ibm.icu.dev.test.CoreTestFmwk;
|
||||
import com.ibm.icu.text.segmenter.LocalizedSegmenter;
|
||||
import com.ibm.icu.text.segmenter.LocalizedSegmenter.SegmentationType;
|
||||
import com.ibm.icu.text.segmenter.LocalizedSegmenterBuilder;
|
||||
import com.ibm.icu.text.segmenter.Segmenter;
|
||||
import com.ibm.icu.text.segmenter.Segments;
|
||||
import com.ibm.icu.text.segmenter.Segments.Segment;
|
||||
|
@ -23,7 +24,7 @@ public class SegmentsTest extends CoreTestFmwk {
|
|||
@Test
|
||||
public void testRanges() {
|
||||
Segmenter enWordSegmenter =
|
||||
LocalizedSegmenter.builder()
|
||||
new LocalizedSegmenterBuilder()
|
||||
.setLocale(ULocale.ENGLISH)
|
||||
.setSegmentationType(SegmentationType.WORD)
|
||||
.build();
|
||||
|
@ -45,7 +46,7 @@ public class SegmentsTest extends CoreTestFmwk {
|
|||
@Test
|
||||
public void testMultipleSegmentObjectsFromSegmenter() {
|
||||
Segmenter enWordSegmenter =
|
||||
LocalizedSegmenter.builder()
|
||||
new LocalizedSegmenterBuilder()
|
||||
.setLocale(ULocale.ENGLISH)
|
||||
.setSegmentationType(SegmentationType.WORD)
|
||||
.build();
|
||||
|
@ -92,7 +93,7 @@ public class SegmentsTest extends CoreTestFmwk {
|
|||
@Test
|
||||
public void testRangesAfterIndex() {
|
||||
Segmenter enWordSegmenter =
|
||||
LocalizedSegmenter.builder()
|
||||
new LocalizedSegmenterBuilder()
|
||||
.setLocale(ULocale.ENGLISH)
|
||||
.setSegmentationType(LocalizedSegmenter.SegmentationType.WORD)
|
||||
.build();
|
||||
|
@ -115,7 +116,7 @@ public class SegmentsTest extends CoreTestFmwk {
|
|||
@Test
|
||||
public void testRangesBeforeIndex() {
|
||||
Segmenter enWordSegmenter =
|
||||
LocalizedSegmenter.builder()
|
||||
new LocalizedSegmenterBuilder()
|
||||
.setLocale(ULocale.ENGLISH)
|
||||
.setSegmentationType(LocalizedSegmenter.SegmentationType.WORD)
|
||||
.build();
|
||||
|
@ -138,7 +139,7 @@ public class SegmentsTest extends CoreTestFmwk {
|
|||
@Test
|
||||
public void testRangeToSequenceFn() {
|
||||
Segmenter enWordSegmenter =
|
||||
LocalizedSegmenter.builder()
|
||||
new LocalizedSegmenterBuilder()
|
||||
.setLocale(ULocale.ENGLISH)
|
||||
.setSegmentationType(LocalizedSegmenter.SegmentationType.WORD)
|
||||
.build();
|
||||
|
@ -161,7 +162,7 @@ public class SegmentsTest extends CoreTestFmwk {
|
|||
@Test
|
||||
public void testRangeAfterIndex() {
|
||||
Segmenter enWordSegmenter =
|
||||
LocalizedSegmenter.builder()
|
||||
new LocalizedSegmenterBuilder()
|
||||
.setLocale(ULocale.ENGLISH)
|
||||
.setSegmentationType(LocalizedSegmenter.SegmentationType.WORD)
|
||||
.build();
|
||||
|
@ -201,7 +202,7 @@ public class SegmentsTest extends CoreTestFmwk {
|
|||
@Test
|
||||
public void testRangeBeforeIndex() {
|
||||
Segmenter enWordSegmenter =
|
||||
LocalizedSegmenter.builder()
|
||||
new LocalizedSegmenterBuilder()
|
||||
.setLocale(ULocale.ENGLISH)
|
||||
.setSegmentationType(SegmentationType.WORD)
|
||||
.build();
|
||||
|
@ -245,7 +246,7 @@ public class SegmentsTest extends CoreTestFmwk {
|
|||
@Test
|
||||
public void testBoundaries() {
|
||||
Segmenter enWordSegmenter =
|
||||
LocalizedSegmenter.builder()
|
||||
new LocalizedSegmenterBuilder()
|
||||
.setLocale(ULocale.ENGLISH)
|
||||
.setSegmentationType(SegmentationType.WORD)
|
||||
.build();
|
||||
|
@ -265,7 +266,7 @@ public class SegmentsTest extends CoreTestFmwk {
|
|||
@Test
|
||||
public void testBoundariesAfterIndex() {
|
||||
Segmenter enWordSegmenter =
|
||||
LocalizedSegmenter.builder()
|
||||
new LocalizedSegmenterBuilder()
|
||||
.setLocale(ULocale.ENGLISH)
|
||||
.setSegmentationType(SegmentationType.WORD)
|
||||
.build();
|
||||
|
@ -297,7 +298,7 @@ public class SegmentsTest extends CoreTestFmwk {
|
|||
@Test
|
||||
public void testBoundariesBeforeIndex() {
|
||||
Segmenter enWordSegmenter =
|
||||
LocalizedSegmenter.builder()
|
||||
new LocalizedSegmenterBuilder()
|
||||
.setLocale(ULocale.ENGLISH)
|
||||
.setSegmentationType(SegmentationType.WORD)
|
||||
.build();
|
||||
|
|
Loading…
Add table
Reference in a new issue