jaxen-1.1.1.jar
登录
|
jaxen:jaxen:1.1.1
META-INF
org
w3c
jaxen
NamedAccessNavigator.java
jdom
javabean
expr
NamespaceContext.java
saxpath
FunctionCallException.java
UnresolvableException.java
SimpleFunctionContext.java
xom
XPathSyntaxException.java
ContextSupport.java
dom4j
Navigator.java
QualifiedName.java
XPathFunctionContext.java
FunctionContext.java
util
SingleObjectIterator.java
PrecedingSiblingAxisIterator.java
DescendantOrSelfAxisIterator.java
LinkedIterator.java
PrecedingAxisIterator.java
SingletonList.java
AncestorOrSelfAxisIterator.java
AncestorAxisIterator.java
FollowingSiblingAxisIterator.java
StackedIterator.java
SelfAxisIterator.java
DescendantAxisIterator.java
FollowingAxisIterator.java
DefaultNavigator.java
VariableContext.java
Function.java
JaxenException.java
JaxenRuntimeException.java
BaseXPath.java
UnsupportedAxisException.java
function
SimpleVariableContext.java
JaxenConstants.java
JaxenHandler.java
pattern
SimpleNamespaceContext.java
dom
XPath.java
Context.java
PrecedingAxisIterator.java
清空
类结构
/* */ package org.jaxen.util; /* */ /* */ import java.util.
ArrayList
; /* */ import java.util.
Iterator
; /* */ import java.util.
ListIterator
; /* */ import java.util.
NoSuchElementException
; /* */ import org.jaxen.
JaxenConstants
; /* */ import org.jaxen.
JaxenRuntimeException
; /* */ import org.jaxen.
Navigator
; /* */ import org.jaxen.
UnsupportedAxisException
; /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public class
PrecedingAxisIterator
/* */ implements
Iterator
/* */ { /* */ private
Iterator
ancestorOrSelf
; /* */ private
Iterator
precedingSibling
; /* */ private
ListIterator
childrenOrSelf
; /* */ private
ArrayList
stack
; /* */ private
Navigator
navigator
; /* */ /* */ public
PrecedingAxisIterator
(
Object
contextNode
,
Navigator
navigator
) throws
UnsupportedAxisException
{ /* 109 */ this.
navigator
=
navigator
; /* 110 */ this.
ancestorOrSelf
=
navigator
.
getAncestorOrSelfAxisIterator
(
contextNode
); /* 111 */ this.
precedingSibling
=
JaxenConstants
.
EMPTY_ITERATOR
; /* 112 */ this.
childrenOrSelf
=
JaxenConstants
.
EMPTY_LIST_ITERATOR
; /* 113 */ this.
stack
= new
ArrayList
(); /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public boolean
hasNext
() { /* */ try { /* 128 */ while (!this.
childrenOrSelf
.
hasPrevious
()) { /* */ /* 130 */ if (this.
stack
.
isEmpty
()) { /* */ /* 132 */ while (!this.
precedingSibling
.
hasNext
()) { /* */ /* 134 */ if (!this.
ancestorOrSelf
.
hasNext
()) /* */ { /* 136 */ return false; /* */ } /* 138 */
Object
contextNode
= this.
ancestorOrSelf
.
next
(); /* 139 */ this.
precedingSibling
= new
PrecedingSiblingAxisIterator
(
contextNode
, this.
navigator
); /* */ } /* 141 */
Object
node
= this.
precedingSibling
.
next
(); /* 142 */ this.
childrenOrSelf
=
childrenOrSelf
(
node
); /* */ /* */ continue; /* */ } /* 146 */ this.
childrenOrSelf
= this.
stack
.
remove
(this.
stack
.
size
() - 1); /* */ } /* */ /* 149 */ return true; /* */ } /* 151 */ catch (
UnsupportedAxisException
e
) { /* */ /* 153 */ throw new
JaxenRuntimeException
(
e
); /* */ } /* */ } /* */ /* */ /* */ /* */ private
ListIterator
childrenOrSelf
(
Object
node
) { /* */ try { /* 161 */
ArrayList
reversed
= new
ArrayList
(); /* 162 */
reversed
.
add
(
node
); /* 163 */
Iterator
childAxisIterator
= this.
navigator
.
getChildAxisIterator
(
node
); /* 164 */ if (
childAxisIterator
!= null) /* */ { /* 166 */ while (
childAxisIterator
.
hasNext
()) /* */ { /* 168 */
reversed
.
add
(
childAxisIterator
.
next
()); /* */ } /* */ } /* 171 */ return
reversed
.
listIterator
(
reversed
.
size
()); /* */ } /* 173 */ catch (
UnsupportedAxisException
e
) { /* */ /* 175 */ throw new
JaxenRuntimeException
(
e
); /* */ } /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public
Object
next
() throws
NoSuchElementException
{ /* */
Object
result
; /* 190 */ if (!
hasNext
()) /* */ { /* 192 */ throw new
NoSuchElementException
(); /* */ } /* */ /* */ while (true) { /* 196 */
result
= this.
childrenOrSelf
.
previous
(); /* 197 */ if (this.
childrenOrSelf
.
hasPrevious
()) { /* */ /* */ /* 200 */ this.
stack
.
add
(this.
childrenOrSelf
); /* 201 */ this.
childrenOrSelf
=
childrenOrSelf
(
result
); continue; /* */ } break; /* */ } /* 204 */ return
result
; /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public void
remove
() throws
UnsupportedOperationException
{ /* 216 */ throw new
UnsupportedOperationException
(); /* */ } /* */ } /* Location: /Users/tommy/.m2/repository/jaxen/jaxen/1.1.1/jaxen-1.1.1.jar!/org/jaxen/util/PrecedingAxisIterator.class * Java compiler version: 2 (46.0) * JD-Core Version: 1.1.3 */
查找资源
Jre/Lib
输入类名或文件名
类结构窗口