Class HTMLCollection
- java.lang.Object
-
- org.htmlunit.corejs.javascript.ScriptableObject
-
- org.htmlunit.javascript.HtmlUnitScriptable
-
- org.htmlunit.javascript.host.dom.AbstractList
-
- org.htmlunit.javascript.host.html.HTMLCollection
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,org.htmlunit.corejs.javascript.Callable
,org.htmlunit.corejs.javascript.ConstProperties
,org.htmlunit.corejs.javascript.debug.DebuggableObject
,org.htmlunit.corejs.javascript.ExternalArrayData
,org.htmlunit.corejs.javascript.Scriptable
,org.htmlunit.corejs.javascript.SymbolScriptable
- Direct Known Subclasses:
HTMLAllCollection
,HTMLCollectionFrames
,HTMLFormControlsCollection
public class HTMLCollection extends AbstractList implements org.htmlunit.corejs.javascript.Callable
An array of elements. Used for the element arrays returned bydocument.all
,document.all.tags('x')
,document.forms
,window.frames
, etc. Note that this class must not be used for collections that can be modified, for examplemap.areas
andselect.options
.
This class (like all classes in this package) is specific for the JavaScript engine. Users of HtmlUnit shouldn't use it directly.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.htmlunit.javascript.host.dom.AbstractList
AbstractList.EffectOnCache
-
-
Constructor Summary
Constructors Modifier Constructor Description HTMLCollection()
Creates an instance.HTMLCollection(DomNode domNode, boolean attributeChangeSensitive)
Creates an instance.private
HTMLCollection(DomNode domNode, boolean attributeChangeSensitive, java.util.List<DomNode> initialElements)
(package private)
HTMLCollection(DomNode domNode, java.util.List<DomNode> initialElements)
Constructs an instance with an initial cache value.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
call(org.htmlunit.corejs.javascript.Context cx, org.htmlunit.corejs.javascript.Scriptable scope, org.htmlunit.corejs.javascript.Scriptable thisObj, java.lang.Object[] args)
protected HTMLCollection
create(DomNode parentScope, java.util.List<DomNode> initialElements)
Constructs a new instance with an initial cache value.static HTMLCollection
emptyCollection(DomNode domNode)
Gets an empty collection.int
getLength()
Returns the length.protected java.lang.Object
getWithPreemptionByName(java.lang.String name, java.util.List<DomNode> elements)
Helper forAbstractList.getWithPreemption(String)
when finding by id doesn't get results.protected boolean
isGetWithPreemptionSearchName()
Returns whetherAbstractList.getWithPreemption(String)
should search by name or not.java.lang.Object
item(java.lang.Object index)
Returns the item or items corresponding to the specified index or key.org.htmlunit.corejs.javascript.Scriptable
iterator()
void
jsConstructor()
JavaScript constructor.java.lang.Object
namedItem(java.lang.String name)
Retrieves the item or items corresponding to the specified name (checks ids, and if that does not work, then names).protected boolean
supportsParentheses()
Is parentheses supported.-
Methods inherited from class org.htmlunit.javascript.host.dom.AbstractList
avoidObjectDetection, defineProperty, equivalentValues, getArrayElement, getArrayLength, getElements, getElementSupplier, getIsMatchingPredicate, getIt, getScriptableForElement, getWithPreemption, setArrayElement, setAvoidObjectDetection, setDomNode, setEffectOnCacheFunction, setElementsSupplier, setIsMatchingPredicate, toString
-
Methods inherited from class org.htmlunit.javascript.HtmlUnitScriptable
clone, get, getBrowserVersion, getClassName, getDefaultValue, getDomNodeOrDie, getDomNodeOrNull, getPrototype, getScriptableFor, getStartingScope, getWindow, getWindow, has, hasInstance, initParentScope, makeScriptableFor, put, setClassName, setDomNode, setParentScope, setupPromise, setupRejectedPromise
-
Methods inherited from class org.htmlunit.corejs.javascript.ScriptableObject
applyDescriptorToAttributeBitset, associateValue, buildDataDescriptor, callMethod, callMethod, checkPropertyChange, checkPropertyDefinition, defineClass, defineClass, defineClass, defineConst, defineConstProperty, defineFunctionProperties, defineOwnProperties, defineOwnProperty, defineOwnProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, delete, delete, delete, deleteProperty, deleteProperty, deleteProperty, ensureScriptable, ensureScriptableObject, ensureSymbolScriptable, get, get, get, getAllIds, getArrayPrototype, getAssociatedValue, getAttributes, getAttributes, getAttributes, getAttributes, getAttributes, getClassPrototype, getDefaultValue, getExternalArrayData, getExternalArrayLength, getFunctionPrototype, getGeneratorFunctionPrototype, getGetterOrSetter, getGetterOrSetter, getIds, getObjectPrototype, getOwnPropertyDescriptor, getParentScope, getProperty, getProperty, getProperty, getPropertyIds, getPrototype, getTopLevelScope, getTopScopeValue, getTypedProperty, getTypedProperty, getTypeOf, has, has, hasProperty, hasProperty, hasProperty, isAccessorDescriptor, isConst, isDataDescriptor, isEmpty, isExtensible, isFalse, isGenericDescriptor, isGetterOrSetter, isSealed, isTrue, preventExtensions, put, put, putConst, putConstProperty, putProperty, putProperty, putProperty, querySlot, redefineProperty, sameValue, sealObject, setAttributes, setAttributes, setAttributes, setAttributes, setAttributes, setCommonDescriptorProperties, setExternalArrayData, setGetterOrSetter, setPrototype, size
-
-
-
-
Constructor Detail
-
HTMLCollection
public HTMLCollection()
Creates an instance.
-
HTMLCollection
public HTMLCollection(DomNode domNode, boolean attributeChangeSensitive)
Creates an instance.- Parameters:
domNode
- parent scopeattributeChangeSensitive
- indicates if the content of the collection may change when an attribute of a descendant node of parentScope changes (attribute added, modified or removed)
-
HTMLCollection
HTMLCollection(DomNode domNode, java.util.List<DomNode> initialElements)
Constructs an instance with an initial cache value.- Parameters:
domNode
- the parent scope, on which we listen for changesinitialElements
- the initial content for the cache
-
-
Method Detail
-
jsConstructor
public void jsConstructor()
JavaScript constructor.
-
emptyCollection
public static HTMLCollection emptyCollection(DomNode domNode)
Gets an empty collection.- Parameters:
domNode
- the DOM node- Returns:
- an empty collection
-
create
protected HTMLCollection create(DomNode parentScope, java.util.List<DomNode> initialElements)
Constructs a new instance with an initial cache value.- Overrides:
create
in classAbstractList
- Parameters:
parentScope
- the parent scope, on which we listen for changesinitialElements
- the initial content for the cache- Returns:
- the newly created instance
-
iterator
public org.htmlunit.corejs.javascript.Scriptable iterator()
-
getLength
public final int getLength()
Returns the length.- Overrides:
getLength
in classAbstractList
- Returns:
- the length
-
call
public java.lang.Object call(org.htmlunit.corejs.javascript.Context cx, org.htmlunit.corejs.javascript.Scriptable scope, org.htmlunit.corejs.javascript.Scriptable thisObj, java.lang.Object[] args)
- Specified by:
call
in interfaceorg.htmlunit.corejs.javascript.Callable
-
supportsParentheses
protected boolean supportsParentheses()
Is parentheses supported.- Returns:
- true or false
-
getWithPreemptionByName
protected java.lang.Object getWithPreemptionByName(java.lang.String name, java.util.List<DomNode> elements)
Helper forAbstractList.getWithPreemption(String)
when finding by id doesn't get results.- Overrides:
getWithPreemptionByName
in classAbstractList
- Parameters:
name
- the property nameelements
- the children elements.- Returns:
Scriptable.NOT_FOUND
if not found
-
isGetWithPreemptionSearchName
protected boolean isGetWithPreemptionSearchName()
Returns whetherAbstractList.getWithPreemption(String)
should search by name or not.- Returns:
- whether
AbstractList.getWithPreemption(String)
should search by name or not
-
item
public java.lang.Object item(java.lang.Object index)
Returns the item or items corresponding to the specified index or key.- Parameters:
index
- the index or key corresponding to the element or elements to return- Returns:
- the element or elements corresponding to the specified index or key
- See Also:
- MSDN doc
-
namedItem
public java.lang.Object namedItem(java.lang.String name)
Retrieves the item or items corresponding to the specified name (checks ids, and if that does not work, then names).- Parameters:
name
- the name or id the element or elements to return- Returns:
- the element or elements corresponding to the specified name or id
- See Also:
- MSDN doc
-
-