⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mergeiterator.java

📁 struts 2 核心包 的源码 有错误是难免的
💻 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:   MergeIterator.java

package org.apache.struts2.components;

import com.opensymphony.xwork2.util.ValueStack;
import java.io.Writer;
import java.util.*;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts2.util.MakeIterator;
import org.apache.struts2.util.MergeIteratorFilter;

// Referenced classes of package org.apache.struts2.components:
//			Component, Param

public class MergeIterator extends Component
	implements Param.UnnamedParametric
{

	private static final Log _log = LogFactory.getLog(org/apache/struts2/components/MergeIterator);
	private MergeIteratorFilter mergeIteratorFilter;
	private List _parameters;

	public MergeIterator(ValueStack stack)
	{
		super(stack);
		mergeIteratorFilter = null;
	}

	public boolean start(Writer writer)
	{
		mergeIteratorFilter = new MergeIteratorFilter();
		_parameters = new ArrayList();
		return super.start(writer);
	}

	public boolean end(Writer writer, String body)
	{
		for (Iterator parametersIterator = _parameters.iterator(); parametersIterator.hasNext();)
		{
			Object iteratorEntryObj = parametersIterator.next();
			if (!MakeIterator.isIterable(iteratorEntryObj))
				_log.warn((new StringBuilder()).append("param with value resolved as ").append(iteratorEntryObj).append(" cannot be make as iterator, it will be ignored and hence will not appear in the merged iterator").toString());
			else
				mergeIteratorFilter.setSource(MakeIterator.convert(iteratorEntryObj));
		}

		mergeIteratorFilter.execute();
		if (getId() != null && getId().length() > 0)
			getStack().getContext().put(getId(), mergeIteratorFilter);
		mergeIteratorFilter = null;
		return super.end(writer, body);
	}

	public void setId(String id)
	{
		super.setId(id);
	}

	public void addParameter(Object value)
	{
		_parameters.add(value);
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -