IN PROGRESS - BATCH-709: Change all collections to use generics

This commit is contained in:
robokaso
2008-07-15 09:58:14 +00:00
parent b3874aaf80
commit 89f108627e
7 changed files with 33 additions and 34 deletions

View File

@@ -70,7 +70,7 @@ public abstract class AbstractLineTokenizer implements LineTokenizer {
line = "";
}
List tokens = new ArrayList(doTokenize(line));
List<String> tokens = new ArrayList<String>(doTokenize(line));
String[] values = (String[]) tokens.toArray(new String[tokens.size()]);
@@ -83,6 +83,6 @@ public abstract class AbstractLineTokenizer implements LineTokenizer {
return new DefaultFieldSet(values, names);
}
protected abstract List doTokenize(String line);
protected abstract List<String> doTokenize(String line);
}

View File

@@ -105,9 +105,9 @@ public class DelimitedLineTokenizer extends AbstractLineTokenizer {
*
* @return the resulting tokens
*/
protected List doTokenize(String line) {
protected List<String> doTokenize(String line) {
List tokens = new ArrayList();
List<String> tokens = new ArrayList<String>();
// line is never null in current implementation
// line is checked in parent: AbstractLineTokenizer.tokenize()

View File

@@ -86,8 +86,8 @@ public class FixedLengthTokenizer extends AbstractLineTokenizer {
* @throws IncorrectLineLengthException if line length is greater than
* or less than the max range set.
*/
protected List doTokenize(String line) {
List tokens = new ArrayList(ranges.length);
protected List<String> doTokenize(String line) {
List<String> tokens = new ArrayList<String>(ranges.length);
int lineLength;
String token;

View File

@@ -17,7 +17,6 @@
package org.springframework.batch.item.file.transform;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
@@ -26,23 +25,23 @@ import org.springframework.batch.item.file.mapping.FieldSet;
public class PrefixMatchingCompositeLineTokenizer implements LineTokenizer {
private Map tokenizers = new HashMap();
public void setTokenizers(Map tokenizers) {
this.tokenizers = new LinkedHashMap(tokenizers);
private Map<String, LineTokenizer> tokenizers = new HashMap<String, LineTokenizer>();
public void setTokenizers(Map<String, LineTokenizer> tokenizers) {
this.tokenizers = new LinkedHashMap<String, LineTokenizer>(tokenizers);
}
public FieldSet tokenize(String line) {
if (line==null) {
if (line == null) {
return new DefaultFieldSet(new String[0]);
}
LineTokenizer tokenizer = null;
LineTokenizer defaultTokenizer = null;
for (Iterator iter = tokenizers.keySet().iterator(); iter.hasNext();) {
String key = (String) iter.next();
for (String key : tokenizers.keySet()) {
if ("".equals(key)) {
defaultTokenizer = (LineTokenizer) tokenizers.get(key);
// don't break here or the tokenizer may not be found
@@ -53,13 +52,13 @@ public class PrefixMatchingCompositeLineTokenizer implements LineTokenizer {
break;
}
}
if (tokenizer==null) {
if (tokenizer == null) {
tokenizer = defaultTokenizer;
}
if (tokenizer==null) {
throw new IllegalStateException("Could not match record to tokenizer for line=["+line+"]");
if (tokenizer == null) {
throw new IllegalStateException("Could not match record to tokenizer for line=[" + line + "]");
}
return tokenizer.tokenize(line);

View File

@@ -97,11 +97,9 @@ public class RangeArrayPropertyEditor extends PropertyEditorSupport {
Range[] c = (Range[])ranges.clone();
//sort array of Ranges
Arrays.sort(c, new Comparator() {
public int compare(Object o1, Object o2) {
Range c1 = (Range)o1;
Range c2 = (Range)o2;
return c1.getMin()-c2.getMin();
Arrays.sort(c, new Comparator<Range>() {
public int compare(Range r1, Range r2) {
return r1.getMin()-r2.getMin();
}
}
);

View File

@@ -1,7 +1,6 @@
package org.springframework.batch.item.file.transform;
import java.util.Collection;
import java.util.Iterator;
import org.springframework.batch.item.transform.ItemTransformer;
@@ -10,8 +9,8 @@ import org.springframework.batch.item.transform.ItemTransformer;
* specially if it is an array or collection. In this case it loops though,
* calling itself on each member in turn, until it encounters a non collection.
* At this point, if the item is a String, that is used, or else it is passed to
* the delegate {@link ItemTransformer}. The transformed single item Strings
* are all concatenated with line separators.
* the delegate {@link ItemTransformer}. The transformed single item Strings are
* all concatenated with line separators.
*
* @author Dave Syer
*
@@ -45,7 +44,10 @@ public class RecursiveCollectionItemTransformer implements ItemTransformer {
/*
* (non-Javadoc)
* @see org.springframework.batch.item.writer.ItemTransformer#transform(java.lang.Object)
*
* @see
* org.springframework.batch.item.writer.ItemTransformer#transform(java.
* lang.Object)
*/
public Object transform(Object input) throws Exception {
TransformHolder holder = new TransformHolder();
@@ -67,8 +69,8 @@ public class RecursiveCollectionItemTransformer implements ItemTransformer {
private void transformRecursively(Object data, TransformHolder converted) throws Exception {
if (data instanceof Collection) {
for (Iterator iterator = ((Collection) data).iterator(); iterator.hasNext();) {
Object value = (Object) iterator.next();
for (Object value : (Collection<?>) data) {
// (recursive)
transformRecursively(value, new TransformHolder(converted.builder));
}