Public Member Functions | Static Public Member Functions | Friends

v8::ObjectTemplate Class Reference

An ObjectTemplate is used to create objects at runtime. More...

#include <v8.h>

Inheritance diagram for v8::ObjectTemplate:
v8::Template v8::Data

Public Member Functions

int InternalFieldCount ()
 Gets the number of internal fields for objects generated from this template.
void MarkAsUndetectable ()
 Mark object instances of the template as undetectable.
Local< ObjectNewInstance ()
 Creates a new instance of this template.
void SetAccessCheckCallbacks (NamedSecurityCallback named_handler, IndexedSecurityCallback indexed_handler, Handle< Value > data=Handle< Value >(), bool turned_on_by_default=true)
 Sets access check callbacks on the object template.
void SetAccessor (Handle< String > name, AccessorGetter getter, AccessorSetter setter=0, Handle< Value > data=Handle< Value >(), AccessControl settings=DEFAULT, PropertyAttribute attribute=None)
 Sets an accessor on the object template.
void SetCallAsFunctionHandler (InvocationCallback callback, Handle< Value > data=Handle< Value >())
 Sets the callback to be used when calling instances created from this template as a function.
void SetIndexedPropertyHandler (IndexedPropertyGetter getter, IndexedPropertySetter setter=0, IndexedPropertyQuery query=0, IndexedPropertyDeleter deleter=0, IndexedPropertyEnumerator enumerator=0, Handle< Value > data=Handle< Value >())
 Sets an indexed property handler on the object template.
void SetInternalFieldCount (int value)
 Sets the number of internal fields for objects generated from this template.
void SetNamedPropertyHandler (NamedPropertyGetter getter, NamedPropertySetter setter=0, NamedPropertyQuery query=0, NamedPropertyDeleter deleter=0, NamedPropertyEnumerator enumerator=0, Handle< Value > data=Handle< Value >())
 Sets a named property handler on the object template.

Static Public Member Functions

static Local< ObjectTemplateNew ()
 Creates an ObjectTemplate.

Friends

class FunctionTemplate

Detailed Description

An ObjectTemplate is used to create objects at runtime.

Properties added to an ObjectTemplate are added to each object created from the ObjectTemplate.

Definition at line 2283 of file v8.h.


Member Function Documentation

int v8::ObjectTemplate::InternalFieldCount (  ) 

Gets the number of internal fields for objects generated from this template.

void v8::ObjectTemplate::MarkAsUndetectable (  ) 

Mark object instances of the template as undetectable.

In many ways, undetectable objects behave as though they are not there. They behave like 'undefined' in conditionals and when printed. However, properties can be accessed and called as on normal objects.

static Local<ObjectTemplate> v8::ObjectTemplate::New (  )  [static]

Creates an ObjectTemplate.

Examples:
shell.cc.
Local<Object> v8::ObjectTemplate::NewInstance (  ) 

Creates a new instance of this template.

void v8::ObjectTemplate::SetAccessCheckCallbacks ( NamedSecurityCallback  named_handler,
IndexedSecurityCallback  indexed_handler,
Handle< Value data = HandleValue >(),
bool  turned_on_by_default = true 
)

Sets access check callbacks on the object template.

When accessing properties on instances of this object template, the access check callback will be called to determine whether or not to allow cross-context access to the properties. The last parameter specifies whether access checks are turned on by default on instances. If access checks are off by default, they can be turned on on individual instances by calling Object::TurnOnAccessCheck().

void v8::ObjectTemplate::SetAccessor ( Handle< String name,
AccessorGetter  getter,
AccessorSetter  setter = 0,
Handle< Value data = HandleValue >(),
AccessControl  settings = DEFAULT,
PropertyAttribute  attribute = None 
)

Sets an accessor on the object template.

Whenever the property with the given name is accessed on objects created from this ObjectTemplate the getter and setter callbacks are called instead of getting and setting the property directly on the JavaScript object.

Parameters:
name The name of the property for which an accessor is added.
getter The callback to invoke when getting the property.
setter The callback to invoke when setting the property.
data A piece of data that will be passed to the getter and setter callbacks whenever they are invoked.
settings Access control settings for the accessor. This is a bit field consisting of one of more of DEFAULT = 0, ALL_CAN_READ = 1, or ALL_CAN_WRITE = 2. The default is to not allow cross-context access. ALL_CAN_READ means that all cross-context reads are allowed. ALL_CAN_WRITE means that all cross-context writes are allowed. The combination ALL_CAN_READ | ALL_CAN_WRITE can be used to allow all cross-context access.
attribute The attributes of the property for which an accessor is added.
void v8::ObjectTemplate::SetCallAsFunctionHandler ( InvocationCallback  callback,
Handle< Value data = HandleValue >() 
)

Sets the callback to be used when calling instances created from this template as a function.

If no callback is set, instances behave like normal JavaScript objects that cannot be called as a function.

void v8::ObjectTemplate::SetIndexedPropertyHandler ( IndexedPropertyGetter  getter,
IndexedPropertySetter  setter = 0,
IndexedPropertyQuery  query = 0,
IndexedPropertyDeleter  deleter = 0,
IndexedPropertyEnumerator  enumerator = 0,
Handle< Value data = HandleValue >() 
)

Sets an indexed property handler on the object template.

Whenever an indexed property is accessed on objects created from this object template, the provided callback is invoked instead of accessing the property directly on the JavaScript object.

Parameters:
getter The callback to invoke when getting a property.
setter The callback to invoke when setting a property.
query The callback to invoke to check if an object has a property.
deleter The callback to invoke when deleting a property.
enumerator The callback to invoke to enumerate all the indexed properties of an object.
data A piece of data that will be passed to the callbacks whenever they are invoked.
void v8::ObjectTemplate::SetInternalFieldCount ( int  value  ) 

Sets the number of internal fields for objects generated from this template.

void v8::ObjectTemplate::SetNamedPropertyHandler ( NamedPropertyGetter  getter,
NamedPropertySetter  setter = 0,
NamedPropertyQuery  query = 0,
NamedPropertyDeleter  deleter = 0,
NamedPropertyEnumerator  enumerator = 0,
Handle< Value data = HandleValue >() 
)

Sets a named property handler on the object template.

Whenever a named property is accessed on objects created from this object template, the provided callback is invoked instead of accessing the property directly on the JavaScript object.

Parameters:
getter The callback to invoke when getting a property.
setter The callback to invoke when setting a property.
query The callback to invoke to check if a property is present, and if present, get its attributes.
deleter The callback to invoke when deleting a property.
enumerator The callback to invoke to enumerate all the named properties of an object.
data A piece of data that will be passed to the callbacks whenever they are invoked.

Friends And Related Function Documentation

friend class FunctionTemplate [friend]

Reimplemented from v8::Template.

Definition at line 2419 of file v8.h.


The documentation for this class was generated from the following file: