📄 iteratorgenerator.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
// Source File Name: IteratorGenerator.java
package org.apache.struts2.util;
import com.opensymphony.xwork2.Action;
import java.util.*;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class IteratorGenerator
implements Iterator, Action
{
public static interface Converter
{
public abstract Object convert(String s)
throws Exception;
}
private static final Log _log = LogFactory.getLog(org/apache/struts2/util/IteratorGenerator);
List values;
Object value;
String separator;
Converter converter;
int count;
int currentCount;
public IteratorGenerator()
{
count = 0;
currentCount = 0;
}
public void setCount(int aCount)
{
count = aCount;
}
public boolean getHasNext()
{
return hasNext();
}
public Object getNext()
{
return next();
}
public void setSeparator(String aChar)
{
separator = aChar;
}
public void setConverter(Converter aConverter)
{
converter = aConverter;
}
public void setValues(Object aValue)
{
value = aValue;
}
public String execute()
{
if (value == null)
return "error";
values = new ArrayList();
if (separator != null)
{
for (StringTokenizer tokens = new StringTokenizer(value.toString(), separator); tokens.hasMoreTokens();)
{
String token = tokens.nextToken().trim();
if (converter != null)
try
{
Object convertedObj = converter.convert(token);
values.add(convertedObj);
}
catch (Exception e)
{
_log.warn((new StringBuilder()).append("unable to convert [").append(token).append("], skipping this token, it will not appear in the generated iterator").toString(), e);
}
else
values.add(token);
}
} else
{
values.add(value.toString());
}
if (count == 0)
count = values.size();
return "success";
}
public boolean hasNext()
{
return value != null ? currentCount < count || count == -1 : false;
}
public Object next()
{
Object obj = values.get(currentCount % values.size());
currentCount++;
return obj;
Exception exception;
exception;
currentCount++;
throw exception;
}
public void remove()
{
throw new UnsupportedOperationException("Remove is not supported in IteratorGenerator.");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -