/** * Returns a {@link FixedLengthTokenizer} * * @return a {@link FixedLengthTokenizer} */ public FixedLengthTokenizer build() { Assert.notNull(this.fieldSetFactory, "A FieldSetFactory is required."); Assert.notEmpty(this.names, "A list of field names is required."); Assert.notEmpty(this.ranges, "A list of column ranges is required."); FixedLengthTokenizer tokenizer = new FixedLengthTokenizer(); tokenizer.setNames(this.names.toArray(new String[this.names.size()])); tokenizer.setColumns(this.ranges.toArray(new Range[this.ranges.size()])); tokenizer.setFieldSetFactory(this.fieldSetFactory); tokenizer.setStrict(this.strict); return tokenizer; } }
@Test public void testLongerLinesNotStrict() throws Exception { tokenizer.setColumns(new Range[] { new Range(1, 10), new Range(11, 25), new Range(26,30) }); line = "H1 12345678 1234567890"; tokenizer.setStrict(false); FieldSet tokens = tokenizer.tokenize(line); assertEquals(line.substring(0, 10).trim(), tokens.readString(0)); assertEquals(line.substring(10, 25).trim(), tokens.readString(1)); assertEquals(line.substring(25, 30).trim(), tokens.readString(2)); }
@Test public void testTokenizeSmallerStringThanRangesNotStrict() { tokenizer.setColumns(new Range[] { new Range(1, 5), new Range(6, 10) }); tokenizer.setStrict(false); FieldSet tokens = tokenizer.tokenize("12345"); assertEquals("12345", tokens.readString(0)); assertEquals("", tokens.readString(1)); }
/** * Returns a {@link FixedLengthTokenizer} * * @return a {@link FixedLengthTokenizer} */ public FixedLengthTokenizer build() { Assert.notNull(this.fieldSetFactory, "A FieldSetFactory is required."); Assert.notEmpty(this.names, "A list of field names is required."); Assert.notEmpty(this.ranges, "A list of column ranges is required."); FixedLengthTokenizer tokenizer = new FixedLengthTokenizer(); tokenizer.setNames(this.names.toArray(new String[this.names.size()])); tokenizer.setColumns(this.ranges.toArray(new Range[this.ranges.size()])); tokenizer.setFieldSetFactory(this.fieldSetFactory); tokenizer.setStrict(this.strict); return tokenizer; } }