Package helma.scripting.rhino

# Class PathWrapper

java.lang.Object
org.mozilla.javascript.ScriptableObject
helma.scripting.rhino.PathWrapper

All Implemented Interfaces:
  `Serializable`, `org.mozilla.javascript.ConstProperties`, `org.mozilla.javascript.debug.DebuggableObject`, `org.mozilla.javascript.Scriptable`, `org.mozilla.javascript.SymbolScriptable`

public class PathWrapper extends org.mozilla.javascript.ScriptableObject
This class wraps around instances of helma.framework.core.RequestPath and exposes them in an array-like fashion to the JavaScript runtime.

See Also:
  - `RequestPath`
  - Serialized Form

## Nested Class Summary

## Nested classes/interfaces inherited from class org.mozilla.javascript.ScriptableObject

`org.mozilla.javascript.ScriptableObject.KeyComparator`

## Field Summary

### Fields inherited from class org.mozilla.javascript.ScriptableObject

`CONST, DONTENUM, EMPTY, PERMANENT, READONLY, UNINITIALIZED_CONST`

### Fields inherited from interface org.mozilla.javascript.Scriptable

`NOT_FOUND`

## Constructor Summary

Constructors
Constructor
Description
`PathWrapper(RhinoCore core)`
Zero arg constructor for creating the PathWrapper prototype.

## Method Summary

Modifier and Type
Method
Description
`int`
`contains(Object obj)`
Checks if the given object is contained in the request path
`Object`
`get(int idx, org.mozilla.javascript.Scriptable start)`
Returns a path object in the wrapped path by property name.
`Object`
`get(String name, org.mozilla.javascript.Scriptable start)`
Returns a path object in the wrapped path by property name.
`String`
`getClassName()`
`Object`
`getDefaultValue(Class hint)`
Return a primitive representation for this object.
`Object[]`
`getIds()`
Returns a list of array indices 0..length-1.
`long`
`getLength()`
Getter for length property.
`boolean`
`has(int index, org.mozilla.javascript.Scriptable start)`
Checks if an object with the given index is contained in the path.
`boolean`
`has(String name, org.mozilla.javascript.Scriptable start)`
Checks if an object with the given name is contained in the path.
`String`
`href(Object action)`
Returns the wrapped path rendered as URL path.
`String`
`toString()`

### Methods inherited from class org.mozilla.javascript.ScriptableObject

`applyDescriptorToAttributeBitset, associateValue, avoidObjectDetection, buildDataDescriptor, callMethod, callMethod, checkPropertyChangeForSlot, checkPropertyDefinition, defineClass, defineClass, defineClass, defineConst, defineConstProperty, defineFunctionProperties, defineOwnProperties, defineOwnProperty, defineOwnProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, delete, delete, delete, deleteProperty, deleteProperty, deleteProperty, ensureScriptable, ensureScriptableObject, ensureScriptableObjectButNotSymbol, ensureSymbolScriptable, equivalentValues, get, get, getAllIds, getArrayPrototype, getAssociatedValue, getAttributes, getAttributes, getAttributes, getAttributes, getAttributes, getClassPrototype, getDefaultValue, getExternalArrayData, getExternalArrayLength, getFunctionPrototype, getGeneratorFunctionPrototype, getGetterOrSetter, getGetterOrSetter, getObjectPrototype, getOwnPropertyDescriptor, getParentScope, getProperty, getProperty, getProperty, getPropertyIds, getPrototype, getSuperProperty, getSuperProperty, getSuperProperty, getTopLevelScope, getTopScopeValue, getTypedProperty, getTypedProperty, getTypeOf, has, hasInstance, hasProperty, hasProperty, hasProperty, isAccessorDescriptor, isConst, isDataDescriptor, isEmpty, isExtensible, isFalse, isGenericDescriptor, isGetterOrSetter, isSealed, isTrue, preventExtensions, put, put, put, putConst, putConstProperty, putOwnProperty, putOwnProperty, putOwnProperty, putProperty, putProperty, putProperty, putSuperProperty, putSuperProperty, putSuperProperty, querySlot, redefineProperty, sameValue, sealObject, setAttributes, setAttributes, setAttributes, setAttributes, setAttributes, setCommonDescriptorProperties, setExternalArrayData, setGetterOrSetter, setParentScope, setPrototype, size`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### PathWrapper

public PathWrapper(RhinoCore core) throws org.mozilla.javascript.RhinoException, NoSuchMethodException
Zero arg constructor for creating the PathWrapper prototype.

Throws:
  `org.mozilla.javascript.RhinoException`
  `NoSuchMethodException`

## Method Details

### get

public Object get(String name, org.mozilla.javascript.Scriptable start)
Returns a path object in the wrapped path by property name.

Specified by:
  `get` in interface `org.mozilla.javascript.Scriptable`
Overrides:
  `get` in class `org.mozilla.javascript.ScriptableObject`

### get

public Object get(int idx, org.mozilla.javascript.Scriptable start)
Returns a path object in the wrapped path by property name.

Specified by:
  `get` in interface `org.mozilla.javascript.Scriptable`
Overrides:
  `get` in class `org.mozilla.javascript.ScriptableObject`

### has

public boolean has(String name, org.mozilla.javascript.Scriptable start)
Checks if an object with the given name is contained in the path.

Specified by:
  `has` in interface `org.mozilla.javascript.Scriptable`
Overrides:
  `has` in class `org.mozilla.javascript.ScriptableObject`

### has

public boolean has(int index, org.mozilla.javascript.Scriptable start)
Checks if an object with the given index is contained in the path.

Specified by:
  `has` in interface `org.mozilla.javascript.Scriptable`
Overrides:
  `has` in class `org.mozilla.javascript.ScriptableObject`

### getIds

public Object[] getIds()
Returns a list of array indices 0..length-1.

Specified by:
  `getIds` in interface `org.mozilla.javascript.Scriptable`
Overrides:
  `getIds` in class `org.mozilla.javascript.ScriptableObject`

### getLength

public long getLength()
Getter for length property.

### href

public String href(Object action) throws UnsupportedEncodingException
Returns the wrapped path rendered as URL path.

Throws:
  `UnsupportedEncodingException`

### contains

public int contains(Object obj)
Checks if the given object is contained in the request path

Parameters:
  `obj` - the element to check
Returns:
  the index of the element, or -1 if it isn't contained

### getClassName

public String getClassName()

Specified by:
  `getClassName` in interface `org.mozilla.javascript.Scriptable`
Specified by:
  `getClassName` in class `org.mozilla.javascript.ScriptableObject`

### toString

public String toString()

Overrides:
  `toString` in class `Object`

### getDefaultValue

public Object getDefaultValue(Class hint)
Return a primitive representation for this object. FIXME: We always return a string representation.

Specified by:
  `getDefaultValue` in interface `org.mozilla.javascript.Scriptable`
Overrides:
  `getDefaultValue` in class `org.mozilla.javascript.ScriptableObject`
Parameters:
  `hint` - the type hint
Returns:
  the default value for the object