Package org.apache.sling.scripting.javascript.wrapper

## Class ScriptableBase

- java.lang.Object
- - org.mozilla.javascript.ScriptableObject
  - - org.apache.sling.scripting.javascript.wrapper.ScriptableBase

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

Direct Known Subclasses:
  `ScriptableCalendar`, `ScriptableMap`, `ScriptableNode`, `ScriptableProperty`

    public abstract class ScriptableBase
    extends org.mozilla.javascript.ScriptableObject

Base class for Scriptable objects, uses the NativeJavaObject wrapper to provide default wrapping of methods and properties (SLING-397)

See Also:
  Serialized Form

### Field Summary

Fields
`static String` `JSFUNC_PREFIX`

### 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
`ScriptableBase()`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`protected Object` `getNative​(String name, org.mozilla.javascript.Scriptable start)`
`protected abstract Class<?>` `getStaticType()`
`protected abstract Object` `getWrappedObject()`

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

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

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

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

### Field Detail

#### JSFUNC_PREFIX

    public static final String JSFUNC_PREFIX

See Also:
  Constant Field Values

### Constructor Detail

#### ScriptableBase

    public ScriptableBase()

### Method Detail

#### getNative

    protected Object getNative​(String name,
                               org.mozilla.javascript.Scriptable start)

#### getWrappedObject

    protected abstract Object getWrappedObject()

Returns:
  the Java object that we're wrapping, used to create a NativeJavaObject instance for default wrapping.

#### getStaticType

    protected abstract Class<?> getStaticType()

Returns:
  the static type to use for NativeJavaObject wrapping