C# Класс Rhino.IdScriptableObject

Наследование: ScriptableObject, IdFunctionCall
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
ActivatePrototypeMap ( int maxPrototypeId ) : void
DefineOwnProperty ( Context cx, object key, ScriptableObject desc ) : void
Delete ( string name ) : void
ExecIdCall ( IdFunctionObject f, Context cx, Scriptable scope, Scriptable thisObj, object args ) : object

'thisObj' will be null if invoked as constructor, in which case instance of Scriptable should be returned.

'thisObj' will be null if invoked as constructor, in which case instance of Scriptable should be returned.

ExportAsJSClass ( int maxPrototypeId, Scriptable scope, bool @sealed ) : IdFunctionObject
Get ( string name, Scriptable start ) : object
GetAttributes ( string name ) : int
Has ( string name, Scriptable start ) : bool
HasPrototypeMap ( ) : bool
IdScriptableObject ( ) : System
IdScriptableObject ( Scriptable scope, Scriptable prototype ) : System
InitPrototypeConstructor ( IdFunctionObject f ) : void
InitPrototypeMethod ( object tag, int id, string name, int arity ) : void
InitPrototypeValue ( int id, string name, object value, int attributes ) : void
Put ( string name, Scriptable start, object value ) : void
SetAttributes ( string name, int attributes ) : void

Защищенные методы

Метод Описание
AddIdFunctionProperty ( Scriptable obj, object tag, int id, string name, int arity ) : void
DefaultGet ( string name ) : object
DefaultPut ( string name, object value ) : void
FillConstructorProperties ( IdFunctionObject ctor ) : void
FindInstanceIdInfo ( string name ) : int

Map name to id of instance property.

Map name to id of instance property. Should return 0 if not found or the result of InstanceIdInfo(int, int) .

FindPrototypeId ( string name ) : int
GetInstanceIdName ( int id ) : string

Map id back to property name it defines.

Map id back to property name it defines.

GetInstanceIdValue ( int id ) : object

Get id value.

Get id value. If id value is constant, descendant can call cacheIdValue to store value in the permanent cache. Default implementation creates IdFunctionObject instance for given id and cache its value

GetMaxInstanceId ( ) : int

Get maximum id findInstanceIdInfo can generate.

Get maximum id findInstanceIdInfo can generate.

GetOwnPropertyDescriptor ( Context cx, object id ) : ScriptableObject
IncompatibleCallError ( IdFunctionObject f ) : EcmaError

Utility method to construct type error to indicate incompatible call when converting script thisObj to a particular type is not possible.

Utility method to construct type error to indicate incompatible call when converting script thisObj to a particular type is not possible. Possible usage would be to have a private function like realThis:

 private static NativeSomething realThis(Scriptable thisObj, IdFunctionObject f) { if (!(thisObj instanceof NativeSomething)) throw incompatibleCallError(f); return (NativeSomething)thisObj; } 
Note that although such function can be implemented universally via java.lang.Class.isInstance(), it would be much more slower.
InitPrototypeId ( int id ) : void
InstanceIdInfo ( int attributes, int id ) : int
SetInstanceIdAttributes ( int id, int attr ) : void

Update the attributes of the given instance property.

Update the attributes of the given instance property. Classes which want to support changing property attributes via Object.defineProperty must override this method. The default implementation throws InternalError.

SetInstanceIdValue ( int id, object value ) : void

Set or delete id value.

Set or delete id value. If value == NOT_FOUND , the implementation should make sure that the following getInstanceIdValue return NOT_FOUND.

Приватные методы

Метод Описание
GetBuiltInDescriptor ( string name ) : ScriptableObject
GetIds ( bool getAll ) : object[]
NewIdFunction ( object tag, int id, string name, int arity, Scriptable scope ) : IdFunctionObject
ReadObject ( ObjectInputStream stream ) : void
WriteObject ( ObjectOutputStream stream ) : void

Описание методов

ActivatePrototypeMap() публичный Метод

public ActivatePrototypeMap ( int maxPrototypeId ) : void
maxPrototypeId int
Результат void

AddIdFunctionProperty() защищенный Метод

protected AddIdFunctionProperty ( Scriptable obj, object tag, int id, string name, int arity ) : void
obj Scriptable
tag object
id int
name string
arity int
Результат void

DefaultGet() защищенный Метод

protected DefaultGet ( string name ) : object
name string
Результат object

DefaultPut() защищенный Метод

protected DefaultPut ( string name, object value ) : void
name string
value object
Результат void

DefineOwnProperty() публичный Метод

public DefineOwnProperty ( Context cx, object key, ScriptableObject desc ) : void
cx Context
key object
desc ScriptableObject
Результат void

Delete() публичный Метод

public Delete ( string name ) : void
name string
Результат void

ExecIdCall() публичный Метод

'thisObj' will be null if invoked as constructor, in which case instance of Scriptable should be returned.
'thisObj' will be null if invoked as constructor, in which case instance of Scriptable should be returned.
public ExecIdCall ( IdFunctionObject f, Context cx, Scriptable scope, Scriptable thisObj, object args ) : object
f IdFunctionObject
cx Context
scope Scriptable
thisObj Scriptable
args object
Результат object

ExportAsJSClass() публичный Метод

public ExportAsJSClass ( int maxPrototypeId, Scriptable scope, bool @sealed ) : IdFunctionObject
maxPrototypeId int
scope Scriptable
@sealed bool
Результат IdFunctionObject

FillConstructorProperties() защищенный Метод

protected FillConstructorProperties ( IdFunctionObject ctor ) : void
ctor IdFunctionObject
Результат void

FindInstanceIdInfo() защищенный Метод

Map name to id of instance property.
Map name to id of instance property. Should return 0 if not found or the result of InstanceIdInfo(int, int) .
protected FindInstanceIdInfo ( string name ) : int
name string
Результат int

FindPrototypeId() защищенный Метод

protected FindPrototypeId ( string name ) : int
name string
Результат int

Get() публичный Метод

public Get ( string name, Scriptable start ) : object
name string
start Scriptable
Результат object

GetAttributes() публичный Метод

public GetAttributes ( string name ) : int
name string
Результат int

GetInstanceIdName() защищенный Метод

Map id back to property name it defines.
Map id back to property name it defines.
protected GetInstanceIdName ( int id ) : string
id int
Результат string

GetInstanceIdValue() защищенный Метод

Get id value.
Get id value. If id value is constant, descendant can call cacheIdValue to store value in the permanent cache. Default implementation creates IdFunctionObject instance for given id and cache its value
protected GetInstanceIdValue ( int id ) : object
id int
Результат object

GetMaxInstanceId() защищенный Метод

Get maximum id findInstanceIdInfo can generate.
Get maximum id findInstanceIdInfo can generate.
protected GetMaxInstanceId ( ) : int
Результат int

GetOwnPropertyDescriptor() защищенный Метод

protected GetOwnPropertyDescriptor ( Context cx, object id ) : ScriptableObject
cx Context
id object
Результат ScriptableObject

Has() публичный Метод

public Has ( string name, Scriptable start ) : bool
name string
start Scriptable
Результат bool

HasPrototypeMap() публичный Метод

public HasPrototypeMap ( ) : bool
Результат bool

IdScriptableObject() публичный Метод

public IdScriptableObject ( ) : System
Результат System

IdScriptableObject() публичный Метод

public IdScriptableObject ( Scriptable scope, Scriptable prototype ) : System
scope Scriptable
prototype Scriptable
Результат System

IncompatibleCallError() защищенный статический Метод

Utility method to construct type error to indicate incompatible call when converting script thisObj to a particular type is not possible.
Utility method to construct type error to indicate incompatible call when converting script thisObj to a particular type is not possible. Possible usage would be to have a private function like realThis:
 private static NativeSomething realThis(Scriptable thisObj, IdFunctionObject f) { if (!(thisObj instanceof NativeSomething)) throw incompatibleCallError(f); return (NativeSomething)thisObj; } 
Note that although such function can be implemented universally via java.lang.Class.isInstance(), it would be much more slower.
if no more instanceof target can be found
protected static IncompatibleCallError ( IdFunctionObject f ) : EcmaError
f IdFunctionObject /// function that is attempting to convert 'this' /// object. ///
Результат EcmaError

InitPrototypeConstructor() публичный Метод

public InitPrototypeConstructor ( IdFunctionObject f ) : void
f IdFunctionObject
Результат void

InitPrototypeId() защищенный Метод

protected InitPrototypeId ( int id ) : void
id int
Результат void

InitPrototypeMethod() публичный Метод

public InitPrototypeMethod ( object tag, int id, string name, int arity ) : void
tag object
id int
name string
arity int
Результат void

InitPrototypeValue() публичный Метод

public InitPrototypeValue ( int id, string name, object value, int attributes ) : void
id int
name string
value object
attributes int
Результат void

InstanceIdInfo() защищенный статический Метод

protected static InstanceIdInfo ( int attributes, int id ) : int
attributes int
id int
Результат int

Put() публичный Метод

public Put ( string name, Scriptable start, object value ) : void
name string
start Scriptable
value object
Результат void

SetAttributes() публичный Метод

public SetAttributes ( string name, int attributes ) : void
name string
attributes int
Результат void

SetInstanceIdAttributes() защищенный Метод

Update the attributes of the given instance property.
Update the attributes of the given instance property. Classes which want to support changing property attributes via Object.defineProperty must override this method. The default implementation throws InternalError.
protected SetInstanceIdAttributes ( int id, int attr ) : void
id int the instance property id
attr int the new attribute bitset
Результат void

SetInstanceIdValue() защищенный Метод

Set or delete id value.
Set or delete id value. If value == NOT_FOUND , the implementation should make sure that the following getInstanceIdValue return NOT_FOUND.
protected SetInstanceIdValue ( int id, object value ) : void
id int
value object
Результат void