//
// Copyright (c)1998-2011 Pearson Education, Inc. or its affiliate(s).
// All rights reserved.
//
package openadk.library.tools.xpath;
import java.util.ArrayList;
import java.util.List;
import openadk.library.Element;
import openadk.library.SIFElement;
import openadk.library.SIFFormatter;
import openadk.library.SimpleField;
import org.apache.commons.jxpath.ri.QName;
import org.apache.commons.jxpath.ri.compiler.NodeNameTest;
import org.apache.commons.jxpath.ri.compiler.NodeTest;
import org.apache.commons.jxpath.ri.model.NodePointer;
/**
* An XPath iterator for ADK Elements
*
* @author Andrew Elmhorst
* @version ADK 2.0
*/
class ADKElementIterator extends ADKNodeIterator {
/**
* Creates an ADKElement iterator
*
* @param parent
* The parent iterator
* @param nodesToIterate
* A list of children to iterate over
*/
ADKElementIterator(SIFElementPointer parent, List<Element> nodesToIterate) {
super(parent, nodesToIterate);
}
/*
* (non-Javadoc)
*
* @see custom.ADKNodeIterator#getNodePointer(custom.SIFElementPointer,
* openadk.library.Element)
*/
@Override
protected NodePointer getNodePointer(SIFElementPointer parent, Element element) {
if( element instanceof SimpleField ){
return SimpleFieldPointer.create( parent, (SimpleField)element );
}else {
return SIFElementPointer.create( parent, (SIFElement)element, parent.getVersion() );
}
}
}