
/*
  DO NOT EDIT!
  This file has been generated by generate_sources.py script.
  $Id$
*/

#include "precomp.h"

using namespace v8;


Handle<Value> js_dom_DOMException::static_get_code(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_DOMException, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_DOMException, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    short unsigned int value = dynamic_cast<js_dom_DOMException*>(ptr)->code;
    return v8_wrapper::Set(value);
}

void js_dom_DOMException::static_set_code(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_DOMException, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_DOMException, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_dom_DOMException*>(ptr)->code = v8_wrapper::Get< short unsigned int >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_dom_DOMException >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("dom::DOMException"));
    instance->SetAccessor(v8::String::New("code"), js_dom_DOMException::static_get_code, js_dom_DOMException::static_set_code);

    v8_wrapper::Registrator< js_dom_DOMException >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_dom_DOMImplementation::static_hasFeature(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_feature = v8_wrapper::Get< std::string > ( args[0] );
    std::string val_version = v8_wrapper::Get< std::string > ( args[1] );
    js_dom_DOMImplementation * el = dynamic_cast<js_dom_DOMImplementation *>(ptr);
    retval = v8_wrapper::Set( el->hasFeature(val_feature, val_version) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_DOMImplementation::static_createDocumentType(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_qualifiedName = v8_wrapper::Get< std::string > ( args[0] );
    std::string val_publicId = v8_wrapper::Get< std::string > ( args[1] );
    std::string val_systemId = v8_wrapper::Get< std::string > ( args[2] );
    js_dom_DOMImplementation * el = dynamic_cast<js_dom_DOMImplementation *>(ptr);
    retval = v8_wrapper::Set( el->createDocumentType(val_qualifiedName, val_publicId, val_systemId) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_DOMImplementation::static_createDocument(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_namespaceURI = v8_wrapper::Get< std::string > ( args[0] );
    std::string val_qualifiedName = v8_wrapper::Get< std::string > ( args[1] );
    v8::Handle<v8::Value> val_doctype = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[2] );
    js_dom_DOMImplementation * el = dynamic_cast<js_dom_DOMImplementation *>(ptr);
    retval = v8_wrapper::Set( el->createDocument(val_namespaceURI, val_qualifiedName, val_doctype) );
    return scope.Close(retval);
}


namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_dom_DOMImplementation >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("dom::DOMImplementation"));
    proto->Set(v8::String::New("hasFeature"), v8::FunctionTemplate::New(js_dom_DOMImplementation::static_hasFeature));
    proto->Set(v8::String::New("createDocumentType"), v8::FunctionTemplate::New(js_dom_DOMImplementation::static_createDocumentType));
    proto->Set(v8::String::New("createDocument"), v8::FunctionTemplate::New(js_dom_DOMImplementation::static_createDocument));
    v8_wrapper::Registrator< js_dom_DOMImplementation >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_dom_Node::static_insertBefore(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_newChild = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    v8::Handle<v8::Value> val_refChild = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[1] );
    js_dom_Node * el = dynamic_cast<js_dom_Node *>(ptr);
    retval = v8_wrapper::Set( el->insertBefore(val_newChild, val_refChild) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Node::static_replaceChild(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_newChild = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    v8::Handle<v8::Value> val_oldChild = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[1] );
    js_dom_Node * el = dynamic_cast<js_dom_Node *>(ptr);
    retval = v8_wrapper::Set( el->replaceChild(val_newChild, val_oldChild) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Node::static_removeChild(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_oldChild = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    js_dom_Node * el = dynamic_cast<js_dom_Node *>(ptr);
    retval = v8_wrapper::Set( el->removeChild(val_oldChild) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Node::static_appendChild(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_newChild = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    js_dom_Node * el = dynamic_cast<js_dom_Node *>(ptr);
    retval = v8_wrapper::Set( el->appendChild(val_newChild) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Node::static_hasChildNodes(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_dom_Node * el = dynamic_cast<js_dom_Node *>(ptr);
    retval = v8_wrapper::Set( el->hasChildNodes() );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Node::static_cloneNode(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    bool val_deep = v8_wrapper::Get< bool > ( args[0] );
    js_dom_Node * el = dynamic_cast<js_dom_Node *>(ptr);
    retval = v8_wrapper::Set( el->cloneNode(val_deep) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Node::static_normalize(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_dom_Node * el = dynamic_cast<js_dom_Node *>(ptr);
    el->normalize();
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Node::static_isSupported(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_feature = v8_wrapper::Get< std::string > ( args[0] );
    std::string val_version = v8_wrapper::Get< std::string > ( args[1] );
    js_dom_Node * el = dynamic_cast<js_dom_Node *>(ptr);
    retval = v8_wrapper::Set( el->isSupported(val_feature, val_version) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Node::static_hasAttributes(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_dom_Node * el = dynamic_cast<js_dom_Node *>(ptr);
    retval = v8_wrapper::Set( el->hasAttributes() );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Node::static_compareDocumentPosition(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_other = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    js_dom_Node * el = dynamic_cast<js_dom_Node *>(ptr);
    retval = v8_wrapper::Set( el->compareDocumentPosition(val_other) );
    return scope.Close(retval);
}


Handle<Value> js_dom_Node::static_get_nodeName(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_Node, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const std::string value = dynamic_cast<js_dom_Node*>(ptr)->nodeName;
    return v8_wrapper::Set(value);
}

void js_dom_Node::static_set_nodeName(Local<String> property, Local<Value> value,
                                      const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_Node, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_dom_Node::static_get_nodeValue(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_Node, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    std::string value = dynamic_cast<js_dom_Node*>(ptr)->nodeValue;
    return v8_wrapper::Set(value);
}

void js_dom_Node::static_set_nodeValue(Local<String> property, Local<Value> value,
                                       const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_Node, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_dom_Node*>(ptr)->nodeValue = v8_wrapper::Get< std::string >(value);
}

Handle<Value> js_dom_Node::static_get_nodeType(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_Node, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const short unsigned int value = dynamic_cast<js_dom_Node*>(ptr)->nodeType;
    return v8_wrapper::Set(value);
}

void js_dom_Node::static_set_nodeType(Local<String> property, Local<Value> value,
                                      const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_Node, 3>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_dom_Node::static_get_parentNode(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_Node, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_dom_Node*>(ptr)->parentNode;
    return v8_wrapper::Set(value);
}

void js_dom_Node::static_set_parentNode(Local<String> property, Local<Value> value,
                                        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_Node, 4>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_dom_Node::static_get_childNodes(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_Node, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_dom_Node*>(ptr)->childNodes;
    return v8_wrapper::Set(value);
}

void js_dom_Node::static_set_childNodes(Local<String> property, Local<Value> value,
                                        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_Node, 5>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_dom_Node::static_get_firstChild(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_Node, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_dom_Node*>(ptr)->firstChild;
    return v8_wrapper::Set(value);
}

void js_dom_Node::static_set_firstChild(Local<String> property, Local<Value> value,
                                        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_Node, 6>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_dom_Node::static_get_lastChild(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 7>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_Node, 7>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_dom_Node*>(ptr)->lastChild;
    return v8_wrapper::Set(value);
}

void js_dom_Node::static_set_lastChild(Local<String> property, Local<Value> value,
                                       const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 7>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_Node, 7>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_dom_Node::static_get_previousSibling(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 8>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_Node, 8>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_dom_Node*>(ptr)->previousSibling;
    return v8_wrapper::Set(value);
}

void js_dom_Node::static_set_previousSibling(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 8>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_Node, 8>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_dom_Node::static_get_nextSibling(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 9>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_Node, 9>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_dom_Node*>(ptr)->nextSibling;
    return v8_wrapper::Set(value);
}

void js_dom_Node::static_set_nextSibling(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 9>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_Node, 9>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_dom_Node::static_get_attributes(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 10>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_Node, 10>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_dom_Node*>(ptr)->attributes;
    return v8_wrapper::Set(value);
}

void js_dom_Node::static_set_attributes(Local<String> property, Local<Value> value,
                                        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 10>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_Node, 10>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_dom_Node::static_get_ownerDocument(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 11>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_Node, 11>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_dom_Node*>(ptr)->ownerDocument;
    return v8_wrapper::Set(value);
}

void js_dom_Node::static_set_ownerDocument(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 11>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_Node, 11>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_dom_Node::static_get_namespaceURI(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 12>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_Node, 12>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const std::string value = dynamic_cast<js_dom_Node*>(ptr)->namespaceURI;
    return v8_wrapper::Set(value);
}

void js_dom_Node::static_set_namespaceURI(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 12>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_Node, 12>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_dom_Node::static_get_prefix(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 13>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_Node, 13>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    std::string value = dynamic_cast<js_dom_Node*>(ptr)->prefix;
    return v8_wrapper::Set(value);
}

void js_dom_Node::static_set_prefix(Local<String> property, Local<Value> value,
                                    const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 13>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_Node, 13>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_dom_Node*>(ptr)->prefix = v8_wrapper::Get< std::string >(value);
}

Handle<Value> js_dom_Node::static_get_localName(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 14>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_Node, 14>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const std::string value = dynamic_cast<js_dom_Node*>(ptr)->localName;
    return v8_wrapper::Set(value);
}

void js_dom_Node::static_set_localName(Local<String> property, Local<Value> value,
                                       const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Node, 14>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_Node, 14>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_dom_Node >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("dom::Node"));
    proto->Set(v8::String::New("insertBefore"), v8::FunctionTemplate::New(js_dom_Node::static_insertBefore));
    proto->Set(v8::String::New("replaceChild"), v8::FunctionTemplate::New(js_dom_Node::static_replaceChild));
    proto->Set(v8::String::New("removeChild"), v8::FunctionTemplate::New(js_dom_Node::static_removeChild));
    proto->Set(v8::String::New("appendChild"), v8::FunctionTemplate::New(js_dom_Node::static_appendChild));
    proto->Set(v8::String::New("hasChildNodes"), v8::FunctionTemplate::New(js_dom_Node::static_hasChildNodes));
    proto->Set(v8::String::New("cloneNode"), v8::FunctionTemplate::New(js_dom_Node::static_cloneNode));
    proto->Set(v8::String::New("normalize"), v8::FunctionTemplate::New(js_dom_Node::static_normalize));
    proto->Set(v8::String::New("isSupported"), v8::FunctionTemplate::New(js_dom_Node::static_isSupported));
    proto->Set(v8::String::New("hasAttributes"), v8::FunctionTemplate::New(js_dom_Node::static_hasAttributes));
    proto->Set(v8::String::New("compareDocumentPosition"), v8::FunctionTemplate::New(js_dom_Node::static_compareDocumentPosition));
    instance->SetAccessor(v8::String::New("nodeName"), js_dom_Node::static_get_nodeName, js_dom_Node::static_set_nodeName);
    instance->SetAccessor(v8::String::New("nodeValue"), js_dom_Node::static_get_nodeValue, js_dom_Node::static_set_nodeValue);
    instance->SetAccessor(v8::String::New("nodeType"), js_dom_Node::static_get_nodeType, js_dom_Node::static_set_nodeType);
    instance->SetAccessor(v8::String::New("parentNode"), js_dom_Node::static_get_parentNode, js_dom_Node::static_set_parentNode);
    instance->SetAccessor(v8::String::New("childNodes"), js_dom_Node::static_get_childNodes, js_dom_Node::static_set_childNodes);
    instance->SetAccessor(v8::String::New("firstChild"), js_dom_Node::static_get_firstChild, js_dom_Node::static_set_firstChild);
    instance->SetAccessor(v8::String::New("lastChild"), js_dom_Node::static_get_lastChild, js_dom_Node::static_set_lastChild);
    instance->SetAccessor(v8::String::New("previousSibling"), js_dom_Node::static_get_previousSibling, js_dom_Node::static_set_previousSibling);
    instance->SetAccessor(v8::String::New("nextSibling"), js_dom_Node::static_get_nextSibling, js_dom_Node::static_set_nextSibling);
    instance->SetAccessor(v8::String::New("attributes"), js_dom_Node::static_get_attributes, js_dom_Node::static_set_attributes);
    instance->SetAccessor(v8::String::New("ownerDocument"), js_dom_Node::static_get_ownerDocument, js_dom_Node::static_set_ownerDocument);
    instance->SetAccessor(v8::String::New("namespaceURI"), js_dom_Node::static_get_namespaceURI, js_dom_Node::static_set_namespaceURI);
    instance->SetAccessor(v8::String::New("prefix"), js_dom_Node::static_get_prefix, js_dom_Node::static_set_prefix);
    instance->SetAccessor(v8::String::New("localName"), js_dom_Node::static_get_localName, js_dom_Node::static_set_localName);

    v8_wrapper::Registrator< js_dom_Node >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_dom_NodeList::static_item(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    long unsigned int val_index = v8_wrapper::Get< long unsigned int > ( args[0] );
    js_dom_NodeList * el = dynamic_cast<js_dom_NodeList *>(ptr);
    retval = v8_wrapper::Set( el->item(val_index) );
    return scope.Close(retval);
}


Handle<Value> js_dom_NodeList::static_get_length(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_NodeList, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_NodeList, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const long unsigned int value = dynamic_cast<js_dom_NodeList*>(ptr)->length;
    return v8_wrapper::Set(value);
}

void js_dom_NodeList::static_set_length(Local<String> property, Local<Value> value,
                                        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_NodeList, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_NodeList, 1>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_dom_NodeList >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("dom::NodeList"));
    proto->Set(v8::String::New("item"), v8::FunctionTemplate::New(js_dom_NodeList::static_item));
    instance->SetAccessor(v8::String::New("length"), js_dom_NodeList::static_get_length, js_dom_NodeList::static_set_length);

    v8_wrapper::Registrator< js_dom_NodeList >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_dom_NamedNodeMap::static_getNamedItem(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_name = v8_wrapper::Get< std::string > ( args[0] );
    js_dom_NamedNodeMap * el = dynamic_cast<js_dom_NamedNodeMap *>(ptr);
    retval = v8_wrapper::Set( el->getNamedItem(val_name) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_NamedNodeMap::static_setNamedItem(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_arg = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    js_dom_NamedNodeMap * el = dynamic_cast<js_dom_NamedNodeMap *>(ptr);
    retval = v8_wrapper::Set( el->setNamedItem(val_arg) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_NamedNodeMap::static_removeNamedItem(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_name = v8_wrapper::Get< std::string > ( args[0] );
    js_dom_NamedNodeMap * el = dynamic_cast<js_dom_NamedNodeMap *>(ptr);
    retval = v8_wrapper::Set( el->removeNamedItem(val_name) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_NamedNodeMap::static_item(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    long unsigned int val_index = v8_wrapper::Get< long unsigned int > ( args[0] );
    js_dom_NamedNodeMap * el = dynamic_cast<js_dom_NamedNodeMap *>(ptr);
    retval = v8_wrapper::Set( el->item(val_index) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_NamedNodeMap::static_getNamedItemNS(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_namespaceURI = v8_wrapper::Get< std::string > ( args[0] );
    std::string val_localName = v8_wrapper::Get< std::string > ( args[1] );
    js_dom_NamedNodeMap * el = dynamic_cast<js_dom_NamedNodeMap *>(ptr);
    retval = v8_wrapper::Set( el->getNamedItemNS(val_namespaceURI, val_localName) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_NamedNodeMap::static_setNamedItemNS(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_arg = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    js_dom_NamedNodeMap * el = dynamic_cast<js_dom_NamedNodeMap *>(ptr);
    retval = v8_wrapper::Set( el->setNamedItemNS(val_arg) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_NamedNodeMap::static_removeNamedItemNS(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_namespaceURI = v8_wrapper::Get< std::string > ( args[0] );
    std::string val_localName = v8_wrapper::Get< std::string > ( args[1] );
    js_dom_NamedNodeMap * el = dynamic_cast<js_dom_NamedNodeMap *>(ptr);
    retval = v8_wrapper::Set( el->removeNamedItemNS(val_namespaceURI, val_localName) );
    return scope.Close(retval);
}


Handle<Value> js_dom_NamedNodeMap::static_get_length(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_NamedNodeMap, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_NamedNodeMap, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const long unsigned int value = dynamic_cast<js_dom_NamedNodeMap*>(ptr)->length;
    return v8_wrapper::Set(value);
}

void js_dom_NamedNodeMap::static_set_length(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_NamedNodeMap, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_NamedNodeMap, 1>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_dom_NamedNodeMap >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("dom::NamedNodeMap"));
    proto->Set(v8::String::New("getNamedItem"), v8::FunctionTemplate::New(js_dom_NamedNodeMap::static_getNamedItem));
    proto->Set(v8::String::New("setNamedItem"), v8::FunctionTemplate::New(js_dom_NamedNodeMap::static_setNamedItem));
    proto->Set(v8::String::New("removeNamedItem"), v8::FunctionTemplate::New(js_dom_NamedNodeMap::static_removeNamedItem));
    proto->Set(v8::String::New("item"), v8::FunctionTemplate::New(js_dom_NamedNodeMap::static_item));
    proto->Set(v8::String::New("getNamedItemNS"), v8::FunctionTemplate::New(js_dom_NamedNodeMap::static_getNamedItemNS));
    proto->Set(v8::String::New("setNamedItemNS"), v8::FunctionTemplate::New(js_dom_NamedNodeMap::static_setNamedItemNS));
    proto->Set(v8::String::New("removeNamedItemNS"), v8::FunctionTemplate::New(js_dom_NamedNodeMap::static_removeNamedItemNS));
    instance->SetAccessor(v8::String::New("length"), js_dom_NamedNodeMap::static_get_length, js_dom_NamedNodeMap::static_set_length);

    v8_wrapper::Registrator< js_dom_NamedNodeMap >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_dom_CharacterData::static_substringData(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    long unsigned int val_offset = v8_wrapper::Get< long unsigned int > ( args[0] );
    long unsigned int val_count = v8_wrapper::Get< long unsigned int > ( args[1] );
    js_dom_CharacterData * el = dynamic_cast<js_dom_CharacterData *>(ptr);
    retval = v8_wrapper::Set( el->substringData(val_offset, val_count) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_CharacterData::static_appendData(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_arg = v8_wrapper::Get< std::string > ( args[0] );
    js_dom_CharacterData * el = dynamic_cast<js_dom_CharacterData *>(ptr);
    el->appendData(val_arg);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_CharacterData::static_insertData(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    long unsigned int val_offset = v8_wrapper::Get< long unsigned int > ( args[0] );
    std::string val_arg = v8_wrapper::Get< std::string > ( args[1] );
    js_dom_CharacterData * el = dynamic_cast<js_dom_CharacterData *>(ptr);
    el->insertData(val_offset, val_arg);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_CharacterData::static_deleteData(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    long unsigned int val_offset = v8_wrapper::Get< long unsigned int > ( args[0] );
    long unsigned int val_count = v8_wrapper::Get< long unsigned int > ( args[1] );
    js_dom_CharacterData * el = dynamic_cast<js_dom_CharacterData *>(ptr);
    el->deleteData(val_offset, val_count);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_CharacterData::static_replaceData(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    long unsigned int val_offset = v8_wrapper::Get< long unsigned int > ( args[0] );
    long unsigned int val_count = v8_wrapper::Get< long unsigned int > ( args[1] );
    std::string val_arg = v8_wrapper::Get< std::string > ( args[2] );
    js_dom_CharacterData * el = dynamic_cast<js_dom_CharacterData *>(ptr);
    el->replaceData(val_offset, val_count, val_arg);
    return scope.Close(retval);
}


Handle<Value> js_dom_CharacterData::static_get_data(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_CharacterData, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_CharacterData, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    std::string value = dynamic_cast<js_dom_CharacterData*>(ptr)->data;
    return v8_wrapper::Set(value);
}

void js_dom_CharacterData::static_set_data(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_CharacterData, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_CharacterData, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_dom_CharacterData*>(ptr)->data = v8_wrapper::Get< std::string >(value);
}

Handle<Value> js_dom_CharacterData::static_get_length(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_CharacterData, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_CharacterData, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const long unsigned int value = dynamic_cast<js_dom_CharacterData*>(ptr)->length;
    return v8_wrapper::Set(value);
}

void js_dom_CharacterData::static_set_length(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_CharacterData, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_CharacterData, 2>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_dom_CharacterData >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("dom::CharacterData"));
    result->Inherit(v8_wrapper::Registrator< js_dom_Node >::GetTemplate());
    proto->Set(v8::String::New("substringData"), v8::FunctionTemplate::New(js_dom_CharacterData::static_substringData));
    proto->Set(v8::String::New("appendData"), v8::FunctionTemplate::New(js_dom_CharacterData::static_appendData));
    proto->Set(v8::String::New("insertData"), v8::FunctionTemplate::New(js_dom_CharacterData::static_insertData));
    proto->Set(v8::String::New("deleteData"), v8::FunctionTemplate::New(js_dom_CharacterData::static_deleteData));
    proto->Set(v8::String::New("replaceData"), v8::FunctionTemplate::New(js_dom_CharacterData::static_replaceData));
    instance->SetAccessor(v8::String::New("data"), js_dom_CharacterData::static_get_data, js_dom_CharacterData::static_set_data);
    instance->SetAccessor(v8::String::New("length"), js_dom_CharacterData::static_get_length, js_dom_CharacterData::static_set_length);

    v8_wrapper::Registrator< js_dom_CharacterData >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_dom_Attr::static_get_name(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Attr, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_Attr, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const std::string value = dynamic_cast<js_dom_Attr*>(ptr)->name;
    return v8_wrapper::Set(value);
}

void js_dom_Attr::static_set_name(Local<String> property, Local<Value> value,
                                  const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Attr, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_Attr, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_dom_Attr::static_get_specified(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Attr, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_Attr, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const bool value = dynamic_cast<js_dom_Attr*>(ptr)->specified;
    return v8_wrapper::Set(value);
}

void js_dom_Attr::static_set_specified(Local<String> property, Local<Value> value,
                                       const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Attr, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_Attr, 2>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_dom_Attr::static_get_value(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Attr, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_Attr, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    std::string value = dynamic_cast<js_dom_Attr*>(ptr)->value;
    return v8_wrapper::Set(value);
}

void js_dom_Attr::static_set_value(Local<String> property, Local<Value> value,
                                   const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Attr, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_Attr, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_dom_Attr*>(ptr)->value = v8_wrapper::Get< std::string >(value);
}

Handle<Value> js_dom_Attr::static_get_ownerElement(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Attr, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_Attr, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_dom_Attr*>(ptr)->ownerElement;
    return v8_wrapper::Set(value);
}

void js_dom_Attr::static_set_ownerElement(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Attr, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_Attr, 4>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_dom_Attr >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("dom::Attr"));
    result->Inherit(v8_wrapper::Registrator< js_dom_Node >::GetTemplate());
    instance->SetAccessor(v8::String::New("name"), js_dom_Attr::static_get_name, js_dom_Attr::static_set_name);
    instance->SetAccessor(v8::String::New("specified"), js_dom_Attr::static_get_specified, js_dom_Attr::static_set_specified);
    instance->SetAccessor(v8::String::New("value"), js_dom_Attr::static_get_value, js_dom_Attr::static_set_value);
    instance->SetAccessor(v8::String::New("ownerElement"), js_dom_Attr::static_get_ownerElement, js_dom_Attr::static_set_ownerElement);

    v8_wrapper::Registrator< js_dom_Attr >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_dom_Element::static_getAttribute(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_name = v8_wrapper::Get< std::string > ( args[0] );
    js_dom_Element * el = dynamic_cast<js_dom_Element *>(ptr);
    retval = v8_wrapper::Set( el->getAttribute(val_name) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Element::static_setAttribute(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_name = v8_wrapper::Get< std::string > ( args[0] );
    std::string val_value = v8_wrapper::Get< std::string > ( args[1] );
    js_dom_Element * el = dynamic_cast<js_dom_Element *>(ptr);
    el->setAttribute(val_name, val_value);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Element::static_removeAttribute(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_name = v8_wrapper::Get< std::string > ( args[0] );
    js_dom_Element * el = dynamic_cast<js_dom_Element *>(ptr);
    el->removeAttribute(val_name);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Element::static_getAttributeNode(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_name = v8_wrapper::Get< std::string > ( args[0] );
    js_dom_Element * el = dynamic_cast<js_dom_Element *>(ptr);
    retval = v8_wrapper::Set( el->getAttributeNode(val_name) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Element::static_setAttributeNode(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_newAttr = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    js_dom_Element * el = dynamic_cast<js_dom_Element *>(ptr);
    retval = v8_wrapper::Set( el->setAttributeNode(val_newAttr) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Element::static_removeAttributeNode(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_oldAttr = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    js_dom_Element * el = dynamic_cast<js_dom_Element *>(ptr);
    retval = v8_wrapper::Set( el->removeAttributeNode(val_oldAttr) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Element::static_getElementsByTagName(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_name = v8_wrapper::Get< std::string > ( args[0] );
    js_dom_Element * el = dynamic_cast<js_dom_Element *>(ptr);
    retval = v8_wrapper::Set( el->getElementsByTagName(val_name) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Element::static_getAttributeNS(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_namespaceURI = v8_wrapper::Get< std::string > ( args[0] );
    std::string val_localName = v8_wrapper::Get< std::string > ( args[1] );
    js_dom_Element * el = dynamic_cast<js_dom_Element *>(ptr);
    retval = v8_wrapper::Set( el->getAttributeNS(val_namespaceURI, val_localName) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Element::static_setAttributeNS(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_namespaceURI = v8_wrapper::Get< std::string > ( args[0] );
    std::string val_qualifiedName = v8_wrapper::Get< std::string > ( args[1] );
    std::string val_value = v8_wrapper::Get< std::string > ( args[2] );
    js_dom_Element * el = dynamic_cast<js_dom_Element *>(ptr);
    el->setAttributeNS(val_namespaceURI, val_qualifiedName, val_value);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Element::static_removeAttributeNS(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_namespaceURI = v8_wrapper::Get< std::string > ( args[0] );
    std::string val_localName = v8_wrapper::Get< std::string > ( args[1] );
    js_dom_Element * el = dynamic_cast<js_dom_Element *>(ptr);
    el->removeAttributeNS(val_namespaceURI, val_localName);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Element::static_getAttributeNodeNS(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_namespaceURI = v8_wrapper::Get< std::string > ( args[0] );
    std::string val_localName = v8_wrapper::Get< std::string > ( args[1] );
    js_dom_Element * el = dynamic_cast<js_dom_Element *>(ptr);
    retval = v8_wrapper::Set( el->getAttributeNodeNS(val_namespaceURI, val_localName) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Element::static_setAttributeNodeNS(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_newAttr = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    js_dom_Element * el = dynamic_cast<js_dom_Element *>(ptr);
    retval = v8_wrapper::Set( el->setAttributeNodeNS(val_newAttr) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Element::static_getElementsByTagNameNS(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_namespaceURI = v8_wrapper::Get< std::string > ( args[0] );
    std::string val_localName = v8_wrapper::Get< std::string > ( args[1] );
    js_dom_Element * el = dynamic_cast<js_dom_Element *>(ptr);
    retval = v8_wrapper::Set( el->getElementsByTagNameNS(val_namespaceURI, val_localName) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Element::static_hasAttribute(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_name = v8_wrapper::Get< std::string > ( args[0] );
    js_dom_Element * el = dynamic_cast<js_dom_Element *>(ptr);
    retval = v8_wrapper::Set( el->hasAttribute(val_name) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Element::static_hasAttributeNS(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_namespaceURI = v8_wrapper::Get< std::string > ( args[0] );
    std::string val_localName = v8_wrapper::Get< std::string > ( args[1] );
    js_dom_Element * el = dynamic_cast<js_dom_Element *>(ptr);
    retval = v8_wrapper::Set( el->hasAttributeNS(val_namespaceURI, val_localName) );
    return scope.Close(retval);
}


Handle<Value> js_dom_Element::static_get_tagName(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Element, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_Element, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const std::string value = dynamic_cast<js_dom_Element*>(ptr)->tagName;
    return v8_wrapper::Set(value);
}

void js_dom_Element::static_set_tagName(Local<String> property, Local<Value> value,
                                        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Element, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_Element, 1>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_dom_Element >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("dom::Element"));
    result->Inherit(v8_wrapper::Registrator< js_dom_Node >::GetTemplate());
    proto->Set(v8::String::New("getAttribute"), v8::FunctionTemplate::New(js_dom_Element::static_getAttribute));
    proto->Set(v8::String::New("setAttribute"), v8::FunctionTemplate::New(js_dom_Element::static_setAttribute));
    proto->Set(v8::String::New("removeAttribute"), v8::FunctionTemplate::New(js_dom_Element::static_removeAttribute));
    proto->Set(v8::String::New("getAttributeNode"), v8::FunctionTemplate::New(js_dom_Element::static_getAttributeNode));
    proto->Set(v8::String::New("setAttributeNode"), v8::FunctionTemplate::New(js_dom_Element::static_setAttributeNode));
    proto->Set(v8::String::New("removeAttributeNode"), v8::FunctionTemplate::New(js_dom_Element::static_removeAttributeNode));
    proto->Set(v8::String::New("getElementsByTagName"), v8::FunctionTemplate::New(js_dom_Element::static_getElementsByTagName));
    proto->Set(v8::String::New("getAttributeNS"), v8::FunctionTemplate::New(js_dom_Element::static_getAttributeNS));
    proto->Set(v8::String::New("setAttributeNS"), v8::FunctionTemplate::New(js_dom_Element::static_setAttributeNS));
    proto->Set(v8::String::New("removeAttributeNS"), v8::FunctionTemplate::New(js_dom_Element::static_removeAttributeNS));
    proto->Set(v8::String::New("getAttributeNodeNS"), v8::FunctionTemplate::New(js_dom_Element::static_getAttributeNodeNS));
    proto->Set(v8::String::New("setAttributeNodeNS"), v8::FunctionTemplate::New(js_dom_Element::static_setAttributeNodeNS));
    proto->Set(v8::String::New("getElementsByTagNameNS"), v8::FunctionTemplate::New(js_dom_Element::static_getElementsByTagNameNS));
    proto->Set(v8::String::New("hasAttribute"), v8::FunctionTemplate::New(js_dom_Element::static_hasAttribute));
    proto->Set(v8::String::New("hasAttributeNS"), v8::FunctionTemplate::New(js_dom_Element::static_hasAttributeNS));
    instance->SetAccessor(v8::String::New("tagName"), js_dom_Element::static_get_tagName, js_dom_Element::static_set_tagName);

    v8_wrapper::Registrator< js_dom_Element >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_dom_Text::static_splitText(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    long unsigned int val_offset = v8_wrapper::Get< long unsigned int > ( args[0] );
    js_dom_Text * el = dynamic_cast<js_dom_Text *>(ptr);
    retval = v8_wrapper::Set( el->splitText(val_offset) );
    return scope.Close(retval);
}


namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_dom_Text >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("dom::Text"));
    result->Inherit(v8_wrapper::Registrator< js_dom_CharacterData >::GetTemplate());
    proto->Set(v8::String::New("splitText"), v8::FunctionTemplate::New(js_dom_Text::static_splitText));
    v8_wrapper::Registrator< js_dom_Text >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_dom_Comment >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("dom::Comment"));
    result->Inherit(v8_wrapper::Registrator< js_dom_CharacterData >::GetTemplate());

    v8_wrapper::Registrator< js_dom_Comment >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_dom_CDATASection >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("dom::CDATASection"));
    result->Inherit(v8_wrapper::Registrator< js_dom_Text >::GetTemplate());

    v8_wrapper::Registrator< js_dom_CDATASection >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_dom_DocumentType::static_get_name(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_DocumentType, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_DocumentType, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const std::string value = dynamic_cast<js_dom_DocumentType*>(ptr)->name;
    return v8_wrapper::Set(value);
}

void js_dom_DocumentType::static_set_name(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_DocumentType, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_DocumentType, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_dom_DocumentType::static_get_entities(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_DocumentType, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_DocumentType, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_dom_DocumentType*>(ptr)->entities;
    return v8_wrapper::Set(value);
}

void js_dom_DocumentType::static_set_entities(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_DocumentType, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_DocumentType, 2>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_dom_DocumentType::static_get_notations(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_DocumentType, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_DocumentType, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_dom_DocumentType*>(ptr)->notations;
    return v8_wrapper::Set(value);
}

void js_dom_DocumentType::static_set_notations(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_DocumentType, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_DocumentType, 3>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_dom_DocumentType::static_get_publicId(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_DocumentType, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_DocumentType, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const std::string value = dynamic_cast<js_dom_DocumentType*>(ptr)->publicId;
    return v8_wrapper::Set(value);
}

void js_dom_DocumentType::static_set_publicId(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_DocumentType, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_DocumentType, 4>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_dom_DocumentType::static_get_systemId(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_DocumentType, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_DocumentType, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const std::string value = dynamic_cast<js_dom_DocumentType*>(ptr)->systemId;
    return v8_wrapper::Set(value);
}

void js_dom_DocumentType::static_set_systemId(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_DocumentType, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_DocumentType, 5>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_dom_DocumentType::static_get_internalSubset(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_DocumentType, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_DocumentType, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const std::string value = dynamic_cast<js_dom_DocumentType*>(ptr)->internalSubset;
    return v8_wrapper::Set(value);
}

void js_dom_DocumentType::static_set_internalSubset(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_DocumentType, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_DocumentType, 6>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_dom_DocumentType >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("dom::DocumentType"));
    result->Inherit(v8_wrapper::Registrator< js_dom_Node >::GetTemplate());
    instance->SetAccessor(v8::String::New("name"), js_dom_DocumentType::static_get_name, js_dom_DocumentType::static_set_name);
    instance->SetAccessor(v8::String::New("entities"), js_dom_DocumentType::static_get_entities, js_dom_DocumentType::static_set_entities);
    instance->SetAccessor(v8::String::New("notations"), js_dom_DocumentType::static_get_notations, js_dom_DocumentType::static_set_notations);
    instance->SetAccessor(v8::String::New("publicId"), js_dom_DocumentType::static_get_publicId, js_dom_DocumentType::static_set_publicId);
    instance->SetAccessor(v8::String::New("systemId"), js_dom_DocumentType::static_get_systemId, js_dom_DocumentType::static_set_systemId);
    instance->SetAccessor(v8::String::New("internalSubset"), js_dom_DocumentType::static_get_internalSubset, js_dom_DocumentType::static_set_internalSubset);

    v8_wrapper::Registrator< js_dom_DocumentType >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_dom_Notation::static_get_publicId(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Notation, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_Notation, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const std::string value = dynamic_cast<js_dom_Notation*>(ptr)->publicId;
    return v8_wrapper::Set(value);
}

void js_dom_Notation::static_set_publicId(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Notation, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_Notation, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_dom_Notation::static_get_systemId(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Notation, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_Notation, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const std::string value = dynamic_cast<js_dom_Notation*>(ptr)->systemId;
    return v8_wrapper::Set(value);
}

void js_dom_Notation::static_set_systemId(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Notation, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_Notation, 2>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_dom_Notation >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("dom::Notation"));
    result->Inherit(v8_wrapper::Registrator< js_dom_Node >::GetTemplate());
    instance->SetAccessor(v8::String::New("publicId"), js_dom_Notation::static_get_publicId, js_dom_Notation::static_set_publicId);
    instance->SetAccessor(v8::String::New("systemId"), js_dom_Notation::static_get_systemId, js_dom_Notation::static_set_systemId);

    v8_wrapper::Registrator< js_dom_Notation >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_dom_Entity::static_get_publicId(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Entity, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_Entity, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const std::string value = dynamic_cast<js_dom_Entity*>(ptr)->publicId;
    return v8_wrapper::Set(value);
}

void js_dom_Entity::static_set_publicId(Local<String> property, Local<Value> value,
                                        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Entity, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_Entity, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_dom_Entity::static_get_systemId(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Entity, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_Entity, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const std::string value = dynamic_cast<js_dom_Entity*>(ptr)->systemId;
    return v8_wrapper::Set(value);
}

void js_dom_Entity::static_set_systemId(Local<String> property, Local<Value> value,
                                        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Entity, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_Entity, 2>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_dom_Entity::static_get_notationName(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Entity, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_Entity, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const std::string value = dynamic_cast<js_dom_Entity*>(ptr)->notationName;
    return v8_wrapper::Set(value);
}

void js_dom_Entity::static_set_notationName(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Entity, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_Entity, 3>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_dom_Entity >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("dom::Entity"));
    result->Inherit(v8_wrapper::Registrator< js_dom_Node >::GetTemplate());
    instance->SetAccessor(v8::String::New("publicId"), js_dom_Entity::static_get_publicId, js_dom_Entity::static_set_publicId);
    instance->SetAccessor(v8::String::New("systemId"), js_dom_Entity::static_get_systemId, js_dom_Entity::static_set_systemId);
    instance->SetAccessor(v8::String::New("notationName"), js_dom_Entity::static_get_notationName, js_dom_Entity::static_set_notationName);

    v8_wrapper::Registrator< js_dom_Entity >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_dom_EntityReference >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("dom::EntityReference"));
    result->Inherit(v8_wrapper::Registrator< js_dom_Node >::GetTemplate());

    v8_wrapper::Registrator< js_dom_EntityReference >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_dom_ProcessingInstruction::static_get_target(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_ProcessingInstruction, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_ProcessingInstruction, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const std::string value = dynamic_cast<js_dom_ProcessingInstruction*>(ptr)->target;
    return v8_wrapper::Set(value);
}

void js_dom_ProcessingInstruction::static_set_target(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_ProcessingInstruction, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_ProcessingInstruction, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_dom_ProcessingInstruction::static_get_data(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_ProcessingInstruction, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_ProcessingInstruction, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    std::string value = dynamic_cast<js_dom_ProcessingInstruction*>(ptr)->data;
    return v8_wrapper::Set(value);
}

void js_dom_ProcessingInstruction::static_set_data(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_ProcessingInstruction, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_ProcessingInstruction, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_dom_ProcessingInstruction*>(ptr)->data = v8_wrapper::Get< std::string >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_dom_ProcessingInstruction >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("dom::ProcessingInstruction"));
    result->Inherit(v8_wrapper::Registrator< js_dom_Node >::GetTemplate());
    instance->SetAccessor(v8::String::New("target"), js_dom_ProcessingInstruction::static_get_target, js_dom_ProcessingInstruction::static_set_target);
    instance->SetAccessor(v8::String::New("data"), js_dom_ProcessingInstruction::static_get_data, js_dom_ProcessingInstruction::static_set_data);

    v8_wrapper::Registrator< js_dom_ProcessingInstruction >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_dom_DocumentFragment >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("dom::DocumentFragment"));
    result->Inherit(v8_wrapper::Registrator< js_dom_Node >::GetTemplate());

    v8_wrapper::Registrator< js_dom_DocumentFragment >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_dom_Document::static_createElement(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_tagName = v8_wrapper::Get< std::string > ( args[0] );
    js_dom_Document * el = dynamic_cast<js_dom_Document *>(ptr);
    retval = v8_wrapper::Set( el->createElement(val_tagName) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Document::static_createDocumentFragment(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_dom_Document * el = dynamic_cast<js_dom_Document *>(ptr);
    retval = v8_wrapper::Set( el->createDocumentFragment() );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Document::static_createTextNode(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_data = v8_wrapper::Get< std::string > ( args[0] );
    js_dom_Document * el = dynamic_cast<js_dom_Document *>(ptr);
    retval = v8_wrapper::Set( el->createTextNode(val_data) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Document::static_createComment(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_data = v8_wrapper::Get< std::string > ( args[0] );
    js_dom_Document * el = dynamic_cast<js_dom_Document *>(ptr);
    retval = v8_wrapper::Set( el->createComment(val_data) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Document::static_createCDATASection(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_data = v8_wrapper::Get< std::string > ( args[0] );
    js_dom_Document * el = dynamic_cast<js_dom_Document *>(ptr);
    retval = v8_wrapper::Set( el->createCDATASection(val_data) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Document::static_createProcessingInstruction(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_target = v8_wrapper::Get< std::string > ( args[0] );
    std::string val_data = v8_wrapper::Get< std::string > ( args[1] );
    js_dom_Document * el = dynamic_cast<js_dom_Document *>(ptr);
    retval = v8_wrapper::Set( el->createProcessingInstruction(val_target, val_data) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Document::static_createAttribute(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_name = v8_wrapper::Get< std::string > ( args[0] );
    js_dom_Document * el = dynamic_cast<js_dom_Document *>(ptr);
    retval = v8_wrapper::Set( el->createAttribute(val_name) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Document::static_createEntityReference(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_name = v8_wrapper::Get< std::string > ( args[0] );
    js_dom_Document * el = dynamic_cast<js_dom_Document *>(ptr);
    retval = v8_wrapper::Set( el->createEntityReference(val_name) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Document::static_getElementsByTagName(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_tagname = v8_wrapper::Get< std::string > ( args[0] );
    js_dom_Document * el = dynamic_cast<js_dom_Document *>(ptr);
    retval = v8_wrapper::Set( el->getElementsByTagName(val_tagname) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Document::static_importNode(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_importedNode = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    bool val_deep = v8_wrapper::Get< bool > ( args[1] );
    js_dom_Document * el = dynamic_cast<js_dom_Document *>(ptr);
    retval = v8_wrapper::Set( el->importNode(val_importedNode, val_deep) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Document::static_createElementNS(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_namespaceURI = v8_wrapper::Get< std::string > ( args[0] );
    std::string val_qualifiedName = v8_wrapper::Get< std::string > ( args[1] );
    js_dom_Document * el = dynamic_cast<js_dom_Document *>(ptr);
    retval = v8_wrapper::Set( el->createElementNS(val_namespaceURI, val_qualifiedName) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Document::static_createAttributeNS(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_namespaceURI = v8_wrapper::Get< std::string > ( args[0] );
    std::string val_qualifiedName = v8_wrapper::Get< std::string > ( args[1] );
    js_dom_Document * el = dynamic_cast<js_dom_Document *>(ptr);
    retval = v8_wrapper::Set( el->createAttributeNS(val_namespaceURI, val_qualifiedName) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Document::static_getElementsByTagNameNS(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_namespaceURI = v8_wrapper::Get< std::string > ( args[0] );
    std::string val_localName = v8_wrapper::Get< std::string > ( args[1] );
    js_dom_Document * el = dynamic_cast<js_dom_Document *>(ptr);
    retval = v8_wrapper::Set( el->getElementsByTagNameNS(val_namespaceURI, val_localName) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_dom_Document::static_getElementById(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    std::string val_elementId = v8_wrapper::Get< std::string > ( args[0] );
    js_dom_Document * el = dynamic_cast<js_dom_Document *>(ptr);
    retval = v8_wrapper::Set( el->getElementById(val_elementId) );
    return scope.Close(retval);
}


Handle<Value> js_dom_Document::static_get_doctype(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Document, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_Document, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_dom_Document*>(ptr)->doctype;
    return v8_wrapper::Set(value);
}

void js_dom_Document::static_set_doctype(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Document, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_Document, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_dom_Document::static_get_implementation(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Document, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_Document, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_dom_Document*>(ptr)->implementation;
    return v8_wrapper::Set(value);
}

void js_dom_Document::static_set_implementation(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Document, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_Document, 2>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_dom_Document::static_get_documentElement(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Document, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_dom_Document, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_dom_Document*>(ptr)->documentElement;
    return v8_wrapper::Set(value);
}

void js_dom_Document::static_set_documentElement(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_dom_Document, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_dom_Document, 3>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_dom_Document >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("dom::Document"));
    result->Inherit(v8_wrapper::Registrator< js_dom_Node >::GetTemplate());
    proto->Set(v8::String::New("createElement"), v8::FunctionTemplate::New(js_dom_Document::static_createElement));
    proto->Set(v8::String::New("createDocumentFragment"), v8::FunctionTemplate::New(js_dom_Document::static_createDocumentFragment));
    proto->Set(v8::String::New("createTextNode"), v8::FunctionTemplate::New(js_dom_Document::static_createTextNode));
    proto->Set(v8::String::New("createComment"), v8::FunctionTemplate::New(js_dom_Document::static_createComment));
    proto->Set(v8::String::New("createCDATASection"), v8::FunctionTemplate::New(js_dom_Document::static_createCDATASection));
    proto->Set(v8::String::New("createProcessingInstruction"), v8::FunctionTemplate::New(js_dom_Document::static_createProcessingInstruction));
    proto->Set(v8::String::New("createAttribute"), v8::FunctionTemplate::New(js_dom_Document::static_createAttribute));
    proto->Set(v8::String::New("createEntityReference"), v8::FunctionTemplate::New(js_dom_Document::static_createEntityReference));
    proto->Set(v8::String::New("getElementsByTagName"), v8::FunctionTemplate::New(js_dom_Document::static_getElementsByTagName));
    proto->Set(v8::String::New("importNode"), v8::FunctionTemplate::New(js_dom_Document::static_importNode));
    proto->Set(v8::String::New("createElementNS"), v8::FunctionTemplate::New(js_dom_Document::static_createElementNS));
    proto->Set(v8::String::New("createAttributeNS"), v8::FunctionTemplate::New(js_dom_Document::static_createAttributeNS));
    proto->Set(v8::String::New("getElementsByTagNameNS"), v8::FunctionTemplate::New(js_dom_Document::static_getElementsByTagNameNS));
    proto->Set(v8::String::New("getElementById"), v8::FunctionTemplate::New(js_dom_Document::static_getElementById));
    instance->SetAccessor(v8::String::New("doctype"), js_dom_Document::static_get_doctype, js_dom_Document::static_set_doctype);
    instance->SetAccessor(v8::String::New("implementation"), js_dom_Document::static_get_implementation, js_dom_Document::static_set_implementation);
    instance->SetAccessor(v8::String::New("documentElement"), js_dom_Document::static_get_documentElement, js_dom_Document::static_set_documentElement);

    v8_wrapper::Registrator< js_dom_Document >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_stylesheets_StyleSheet::static_get_type(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const stylesheets::DOMString value = dynamic_cast<js_stylesheets_StyleSheet*>(ptr)->type;
    return v8_wrapper::Set(value);
}

void js_stylesheets_StyleSheet::static_set_type(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_stylesheets_StyleSheet::static_get_disabled(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_stylesheets_StyleSheet*>(ptr)->disabled;
    return v8_wrapper::Set(value);
}

void js_stylesheets_StyleSheet::static_set_disabled(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_stylesheets_StyleSheet*>(ptr)->disabled = v8_wrapper::Get< bool >(value);
}

Handle<Value> js_stylesheets_StyleSheet::static_get_ownerNode(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_stylesheets_StyleSheet*>(ptr)->ownerNode;
    return v8_wrapper::Set(value);
}

void js_stylesheets_StyleSheet::static_set_ownerNode(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 3>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_stylesheets_StyleSheet::static_get_parentStyleSheet(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_stylesheets_StyleSheet*>(ptr)->parentStyleSheet;
    return v8_wrapper::Set(value);
}

void js_stylesheets_StyleSheet::static_set_parentStyleSheet(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 4>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_stylesheets_StyleSheet::static_get_href(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const stylesheets::DOMString value = dynamic_cast<js_stylesheets_StyleSheet*>(ptr)->href;
    return v8_wrapper::Set(value);
}

void js_stylesheets_StyleSheet::static_set_href(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 5>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_stylesheets_StyleSheet::static_get_title(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const stylesheets::DOMString value = dynamic_cast<js_stylesheets_StyleSheet*>(ptr)->title;
    return v8_wrapper::Set(value);
}

void js_stylesheets_StyleSheet::static_set_title(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 6>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_stylesheets_StyleSheet::static_get_media(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 7>::implemented) {
        return v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 7>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_stylesheets_StyleSheet*>(ptr)->media;
    return v8_wrapper::Set(value);
}

void js_stylesheets_StyleSheet::static_set_media(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 7>::implemented) {
        v8_wrapper::CustomAttribute<js_stylesheets_StyleSheet, 7>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_stylesheets_StyleSheet >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("stylesheets::StyleSheet"));
    instance->SetAccessor(v8::String::New("type"), js_stylesheets_StyleSheet::static_get_type, js_stylesheets_StyleSheet::static_set_type);
    instance->SetAccessor(v8::String::New("disabled"), js_stylesheets_StyleSheet::static_get_disabled, js_stylesheets_StyleSheet::static_set_disabled);
    instance->SetAccessor(v8::String::New("ownerNode"), js_stylesheets_StyleSheet::static_get_ownerNode, js_stylesheets_StyleSheet::static_set_ownerNode);
    instance->SetAccessor(v8::String::New("parentStyleSheet"), js_stylesheets_StyleSheet::static_get_parentStyleSheet, js_stylesheets_StyleSheet::static_set_parentStyleSheet);
    instance->SetAccessor(v8::String::New("href"), js_stylesheets_StyleSheet::static_get_href, js_stylesheets_StyleSheet::static_set_href);
    instance->SetAccessor(v8::String::New("title"), js_stylesheets_StyleSheet::static_get_title, js_stylesheets_StyleSheet::static_set_title);
    instance->SetAccessor(v8::String::New("media"), js_stylesheets_StyleSheet::static_get_media, js_stylesheets_StyleSheet::static_set_media);

    v8_wrapper::Registrator< js_stylesheets_StyleSheet >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_stylesheets_StyleSheetList::static_item(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    long unsigned int val_index = v8_wrapper::Get< long unsigned int > ( args[0] );
    js_stylesheets_StyleSheetList * el = dynamic_cast<js_stylesheets_StyleSheetList *>(ptr);
    retval = v8_wrapper::Set( el->item(val_index) );
    return scope.Close(retval);
}


Handle<Value> js_stylesheets_StyleSheetList::static_get_length(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_stylesheets_StyleSheetList, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_stylesheets_StyleSheetList, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const long unsigned int value = dynamic_cast<js_stylesheets_StyleSheetList*>(ptr)->length;
    return v8_wrapper::Set(value);
}

void js_stylesheets_StyleSheetList::static_set_length(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_stylesheets_StyleSheetList, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_stylesheets_StyleSheetList, 1>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_stylesheets_StyleSheetList >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("stylesheets::StyleSheetList"));
    proto->Set(v8::String::New("item"), v8::FunctionTemplate::New(js_stylesheets_StyleSheetList::static_item));
    instance->SetAccessor(v8::String::New("length"), js_stylesheets_StyleSheetList::static_get_length, js_stylesheets_StyleSheetList::static_set_length);

    v8_wrapper::Registrator< js_stylesheets_StyleSheetList >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_stylesheets_MediaList::static_item(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    long unsigned int val_index = v8_wrapper::Get< long unsigned int > ( args[0] );
    js_stylesheets_MediaList * el = dynamic_cast<js_stylesheets_MediaList *>(ptr);
    retval = v8_wrapper::Set( el->item(val_index) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_stylesheets_MediaList::static_deleteMedium(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    stylesheets::DOMString val_oldMedium = v8_wrapper::Get< stylesheets::DOMString > ( args[0] );
    js_stylesheets_MediaList * el = dynamic_cast<js_stylesheets_MediaList *>(ptr);
    el->deleteMedium(val_oldMedium);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_stylesheets_MediaList::static_appendMedium(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    stylesheets::DOMString val_newMedium = v8_wrapper::Get< stylesheets::DOMString > ( args[0] );
    js_stylesheets_MediaList * el = dynamic_cast<js_stylesheets_MediaList *>(ptr);
    el->appendMedium(val_newMedium);
    return scope.Close(retval);
}


Handle<Value> js_stylesheets_MediaList::static_get_mediaText(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_stylesheets_MediaList, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_stylesheets_MediaList, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    stylesheets::DOMString value = dynamic_cast<js_stylesheets_MediaList*>(ptr)->mediaText;
    return v8_wrapper::Set(value);
}

void js_stylesheets_MediaList::static_set_mediaText(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_stylesheets_MediaList, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_stylesheets_MediaList, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_stylesheets_MediaList*>(ptr)->mediaText = v8_wrapper::Get< stylesheets::DOMString >(value);
}

Handle<Value> js_stylesheets_MediaList::static_get_length(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_stylesheets_MediaList, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_stylesheets_MediaList, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const long unsigned int value = dynamic_cast<js_stylesheets_MediaList*>(ptr)->length;
    return v8_wrapper::Set(value);
}

void js_stylesheets_MediaList::static_set_length(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_stylesheets_MediaList, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_stylesheets_MediaList, 2>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_stylesheets_MediaList >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("stylesheets::MediaList"));
    proto->Set(v8::String::New("item"), v8::FunctionTemplate::New(js_stylesheets_MediaList::static_item));
    proto->Set(v8::String::New("deleteMedium"), v8::FunctionTemplate::New(js_stylesheets_MediaList::static_deleteMedium));
    proto->Set(v8::String::New("appendMedium"), v8::FunctionTemplate::New(js_stylesheets_MediaList::static_appendMedium));
    instance->SetAccessor(v8::String::New("mediaText"), js_stylesheets_MediaList::static_get_mediaText, js_stylesheets_MediaList::static_set_mediaText);
    instance->SetAccessor(v8::String::New("length"), js_stylesheets_MediaList::static_get_length, js_stylesheets_MediaList::static_set_length);

    v8_wrapper::Registrator< js_stylesheets_MediaList >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_stylesheets_LinkStyle::static_get_sheet(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_stylesheets_LinkStyle, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_stylesheets_LinkStyle, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_stylesheets_LinkStyle*>(ptr)->sheet;
    return v8_wrapper::Set(value);
}

void js_stylesheets_LinkStyle::static_set_sheet(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_stylesheets_LinkStyle, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_stylesheets_LinkStyle, 1>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_stylesheets_LinkStyle >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("stylesheets::LinkStyle"));
    instance->SetAccessor(v8::String::New("sheet"), js_stylesheets_LinkStyle::static_get_sheet, js_stylesheets_LinkStyle::static_set_sheet);

    v8_wrapper::Registrator< js_stylesheets_LinkStyle >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_stylesheets_DocumentStyle::static_get_styleSheets(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_stylesheets_DocumentStyle, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_stylesheets_DocumentStyle, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_stylesheets_DocumentStyle*>(ptr)->styleSheets;
    return v8_wrapper::Set(value);
}

void js_stylesheets_DocumentStyle::static_set_styleSheets(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_stylesheets_DocumentStyle, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_stylesheets_DocumentStyle, 1>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_stylesheets_DocumentStyle >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("stylesheets::DocumentStyle"));
    instance->SetAccessor(v8::String::New("styleSheets"), js_stylesheets_DocumentStyle::static_get_styleSheets, js_stylesheets_DocumentStyle::static_set_styleSheets);

    v8_wrapper::Registrator< js_stylesheets_DocumentStyle >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_views_AbstractView::static_get_document(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_views_AbstractView, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_views_AbstractView, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_views_AbstractView*>(ptr)->document;
    return v8_wrapper::Set(value);
}

void js_views_AbstractView::static_set_document(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_views_AbstractView, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_views_AbstractView, 1>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_views_AbstractView >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("views::AbstractView"));
    instance->SetAccessor(v8::String::New("document"), js_views_AbstractView::static_get_document, js_views_AbstractView::static_set_document);

    v8_wrapper::Registrator< js_views_AbstractView >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_views_DocumentView::static_get_defaultView(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_views_DocumentView, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_views_DocumentView, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_views_DocumentView*>(ptr)->defaultView;
    return v8_wrapper::Set(value);
}

void js_views_DocumentView::static_set_defaultView(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_views_DocumentView, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_views_DocumentView, 1>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_views_DocumentView >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("views::DocumentView"));
    instance->SetAccessor(v8::String::New("defaultView"), js_views_DocumentView::static_get_defaultView, js_views_DocumentView::static_set_defaultView);

    v8_wrapper::Registrator< js_views_DocumentView >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_css_CSSRuleList::static_item(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    long unsigned int val_index = v8_wrapper::Get< long unsigned int > ( args[0] );
    js_css_CSSRuleList * el = dynamic_cast<js_css_CSSRuleList *>(ptr);
    retval = v8_wrapper::Set( el->item(val_index) );
    return scope.Close(retval);
}


Handle<Value> js_css_CSSRuleList::static_get_length(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSRuleList, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSSRuleList, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const long unsigned int value = dynamic_cast<js_css_CSSRuleList*>(ptr)->length;
    return v8_wrapper::Set(value);
}

void js_css_CSSRuleList::static_set_length(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSRuleList, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSSRuleList, 1>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_css_CSSRuleList >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("css::CSSRuleList"));
    proto->Set(v8::String::New("item"), v8::FunctionTemplate::New(js_css_CSSRuleList::static_item));
    instance->SetAccessor(v8::String::New("length"), js_css_CSSRuleList::static_get_length, js_css_CSSRuleList::static_set_length);

    v8_wrapper::Registrator< js_css_CSSRuleList >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_css_CSSRule::static_get_type(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSRule, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSSRule, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const short unsigned int value = dynamic_cast<js_css_CSSRule*>(ptr)->type;
    return v8_wrapper::Set(value);
}

void js_css_CSSRule::static_set_type(Local<String> property, Local<Value> value,
                                     const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSRule, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSSRule, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_css_CSSRule::static_get_cssText(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSRule, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSSRule, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSSRule*>(ptr)->cssText;
    return v8_wrapper::Set(value);
}

void js_css_CSSRule::static_set_cssText(Local<String> property, Local<Value> value,
                                        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSRule, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSSRule, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSSRule*>(ptr)->cssText = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSSRule::static_get_parentStyleSheet(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSRule, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSSRule, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_css_CSSRule*>(ptr)->parentStyleSheet;
    return v8_wrapper::Set(value);
}

void js_css_CSSRule::static_set_parentStyleSheet(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSRule, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSSRule, 3>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_css_CSSRule::static_get_parentRule(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSRule, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSSRule, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_css_CSSRule*>(ptr)->parentRule;
    return v8_wrapper::Set(value);
}

void js_css_CSSRule::static_set_parentRule(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSRule, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSSRule, 4>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_css_CSSRule >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("css::CSSRule"));
    instance->SetAccessor(v8::String::New("type"), js_css_CSSRule::static_get_type, js_css_CSSRule::static_set_type);
    instance->SetAccessor(v8::String::New("cssText"), js_css_CSSRule::static_get_cssText, js_css_CSSRule::static_set_cssText);
    instance->SetAccessor(v8::String::New("parentStyleSheet"), js_css_CSSRule::static_get_parentStyleSheet, js_css_CSSRule::static_set_parentStyleSheet);
    instance->SetAccessor(v8::String::New("parentRule"), js_css_CSSRule::static_get_parentRule, js_css_CSSRule::static_set_parentRule);

    v8_wrapper::Registrator< js_css_CSSRule >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_css_CSSStyleRule::static_get_selectorText(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSStyleRule, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSSStyleRule, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSSStyleRule*>(ptr)->selectorText;
    return v8_wrapper::Set(value);
}

void js_css_CSSStyleRule::static_set_selectorText(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSStyleRule, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSSStyleRule, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSSStyleRule*>(ptr)->selectorText = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSSStyleRule::static_get_style(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSStyleRule, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSSStyleRule, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_css_CSSStyleRule*>(ptr)->style;
    return v8_wrapper::Set(value);
}

void js_css_CSSStyleRule::static_set_style(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSStyleRule, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSSStyleRule, 2>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_css_CSSStyleRule >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("css::CSSStyleRule"));
    result->Inherit(v8_wrapper::Registrator< js_css_CSSRule >::GetTemplate());
    instance->SetAccessor(v8::String::New("selectorText"), js_css_CSSStyleRule::static_get_selectorText, js_css_CSSStyleRule::static_set_selectorText);
    instance->SetAccessor(v8::String::New("style"), js_css_CSSStyleRule::static_get_style, js_css_CSSStyleRule::static_set_style);

    v8_wrapper::Registrator< js_css_CSSStyleRule >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_css_CSSMediaRule::static_insertRule(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    css::DOMString val_rule = v8_wrapper::Get< css::DOMString > ( args[0] );
    long unsigned int val_index = v8_wrapper::Get< long unsigned int > ( args[1] );
    js_css_CSSMediaRule * el = dynamic_cast<js_css_CSSMediaRule *>(ptr);
    retval = v8_wrapper::Set( el->insertRule(val_rule, val_index) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_css_CSSMediaRule::static_deleteRule(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    long unsigned int val_index = v8_wrapper::Get< long unsigned int > ( args[0] );
    js_css_CSSMediaRule * el = dynamic_cast<js_css_CSSMediaRule *>(ptr);
    el->deleteRule(val_index);
    return scope.Close(retval);
}


Handle<Value> js_css_CSSMediaRule::static_get_media(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSMediaRule, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSSMediaRule, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_css_CSSMediaRule*>(ptr)->media;
    return v8_wrapper::Set(value);
}

void js_css_CSSMediaRule::static_set_media(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSMediaRule, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSSMediaRule, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_css_CSSMediaRule::static_get_cssRules(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSMediaRule, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSSMediaRule, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_css_CSSMediaRule*>(ptr)->cssRules;
    return v8_wrapper::Set(value);
}

void js_css_CSSMediaRule::static_set_cssRules(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSMediaRule, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSSMediaRule, 2>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_css_CSSMediaRule >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("css::CSSMediaRule"));
    result->Inherit(v8_wrapper::Registrator< js_css_CSSRule >::GetTemplate());
    proto->Set(v8::String::New("insertRule"), v8::FunctionTemplate::New(js_css_CSSMediaRule::static_insertRule));
    proto->Set(v8::String::New("deleteRule"), v8::FunctionTemplate::New(js_css_CSSMediaRule::static_deleteRule));
    instance->SetAccessor(v8::String::New("media"), js_css_CSSMediaRule::static_get_media, js_css_CSSMediaRule::static_set_media);
    instance->SetAccessor(v8::String::New("cssRules"), js_css_CSSMediaRule::static_get_cssRules, js_css_CSSMediaRule::static_set_cssRules);

    v8_wrapper::Registrator< js_css_CSSMediaRule >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_css_CSSFontFaceRule::static_get_style(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSFontFaceRule, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSSFontFaceRule, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_css_CSSFontFaceRule*>(ptr)->style;
    return v8_wrapper::Set(value);
}

void js_css_CSSFontFaceRule::static_set_style(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSFontFaceRule, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSSFontFaceRule, 1>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_css_CSSFontFaceRule >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("css::CSSFontFaceRule"));
    result->Inherit(v8_wrapper::Registrator< js_css_CSSRule >::GetTemplate());
    instance->SetAccessor(v8::String::New("style"), js_css_CSSFontFaceRule::static_get_style, js_css_CSSFontFaceRule::static_set_style);

    v8_wrapper::Registrator< js_css_CSSFontFaceRule >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_css_CSSPageRule::static_get_selectorText(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSPageRule, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSSPageRule, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSSPageRule*>(ptr)->selectorText;
    return v8_wrapper::Set(value);
}

void js_css_CSSPageRule::static_set_selectorText(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSPageRule, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSSPageRule, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSSPageRule*>(ptr)->selectorText = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSSPageRule::static_get_style(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSPageRule, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSSPageRule, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_css_CSSPageRule*>(ptr)->style;
    return v8_wrapper::Set(value);
}

void js_css_CSSPageRule::static_set_style(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSPageRule, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSSPageRule, 2>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_css_CSSPageRule >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("css::CSSPageRule"));
    result->Inherit(v8_wrapper::Registrator< js_css_CSSRule >::GetTemplate());
    instance->SetAccessor(v8::String::New("selectorText"), js_css_CSSPageRule::static_get_selectorText, js_css_CSSPageRule::static_set_selectorText);
    instance->SetAccessor(v8::String::New("style"), js_css_CSSPageRule::static_get_style, js_css_CSSPageRule::static_set_style);

    v8_wrapper::Registrator< js_css_CSSPageRule >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_css_CSSImportRule::static_get_href(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSImportRule, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSSImportRule, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const css::DOMString value = dynamic_cast<js_css_CSSImportRule*>(ptr)->href;
    return v8_wrapper::Set(value);
}

void js_css_CSSImportRule::static_set_href(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSImportRule, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSSImportRule, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_css_CSSImportRule::static_get_media(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSImportRule, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSSImportRule, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_css_CSSImportRule*>(ptr)->media;
    return v8_wrapper::Set(value);
}

void js_css_CSSImportRule::static_set_media(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSImportRule, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSSImportRule, 2>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_css_CSSImportRule::static_get_styleSheet(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSImportRule, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSSImportRule, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_css_CSSImportRule*>(ptr)->styleSheet;
    return v8_wrapper::Set(value);
}

void js_css_CSSImportRule::static_set_styleSheet(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSImportRule, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSSImportRule, 3>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_css_CSSImportRule >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("css::CSSImportRule"));
    result->Inherit(v8_wrapper::Registrator< js_css_CSSRule >::GetTemplate());
    instance->SetAccessor(v8::String::New("href"), js_css_CSSImportRule::static_get_href, js_css_CSSImportRule::static_set_href);
    instance->SetAccessor(v8::String::New("media"), js_css_CSSImportRule::static_get_media, js_css_CSSImportRule::static_set_media);
    instance->SetAccessor(v8::String::New("styleSheet"), js_css_CSSImportRule::static_get_styleSheet, js_css_CSSImportRule::static_set_styleSheet);

    v8_wrapper::Registrator< js_css_CSSImportRule >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_css_CSSCharsetRule::static_get_encoding(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSCharsetRule, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSSCharsetRule, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSSCharsetRule*>(ptr)->encoding;
    return v8_wrapper::Set(value);
}

void js_css_CSSCharsetRule::static_set_encoding(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSCharsetRule, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSSCharsetRule, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSSCharsetRule*>(ptr)->encoding = v8_wrapper::Get< css::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_css_CSSCharsetRule >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("css::CSSCharsetRule"));
    result->Inherit(v8_wrapper::Registrator< js_css_CSSRule >::GetTemplate());
    instance->SetAccessor(v8::String::New("encoding"), js_css_CSSCharsetRule::static_get_encoding, js_css_CSSCharsetRule::static_set_encoding);

    v8_wrapper::Registrator< js_css_CSSCharsetRule >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_css_CSSUnknownRule >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("css::CSSUnknownRule"));
    result->Inherit(v8_wrapper::Registrator< js_css_CSSRule >::GetTemplate());

    v8_wrapper::Registrator< js_css_CSSUnknownRule >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_css_CSSStyleDeclaration::static_getPropertyValue(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    css::DOMString val_propertyName = v8_wrapper::Get< css::DOMString > ( args[0] );
    js_css_CSSStyleDeclaration * el = dynamic_cast<js_css_CSSStyleDeclaration *>(ptr);
    retval = v8_wrapper::Set( el->getPropertyValue(val_propertyName) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_css_CSSStyleDeclaration::static_getPropertyCSSValue(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    css::DOMString val_propertyName = v8_wrapper::Get< css::DOMString > ( args[0] );
    js_css_CSSStyleDeclaration * el = dynamic_cast<js_css_CSSStyleDeclaration *>(ptr);
    retval = v8_wrapper::Set( el->getPropertyCSSValue(val_propertyName) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_css_CSSStyleDeclaration::static_removeProperty(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    css::DOMString val_propertyName = v8_wrapper::Get< css::DOMString > ( args[0] );
    js_css_CSSStyleDeclaration * el = dynamic_cast<js_css_CSSStyleDeclaration *>(ptr);
    retval = v8_wrapper::Set( el->removeProperty(val_propertyName) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_css_CSSStyleDeclaration::static_getPropertyPriority(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    css::DOMString val_propertyName = v8_wrapper::Get< css::DOMString > ( args[0] );
    js_css_CSSStyleDeclaration * el = dynamic_cast<js_css_CSSStyleDeclaration *>(ptr);
    retval = v8_wrapper::Set( el->getPropertyPriority(val_propertyName) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_css_CSSStyleDeclaration::static_setProperty(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    css::DOMString val_propertyName = v8_wrapper::Get< css::DOMString > ( args[0] );
    css::DOMString val_value = v8_wrapper::Get< css::DOMString > ( args[1] );
    css::DOMString val_priority = v8_wrapper::Get< css::DOMString > ( args[2] );
    js_css_CSSStyleDeclaration * el = dynamic_cast<js_css_CSSStyleDeclaration *>(ptr);
    el->setProperty(val_propertyName, val_value, val_priority);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_css_CSSStyleDeclaration::static_item(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    long unsigned int val_index = v8_wrapper::Get< long unsigned int > ( args[0] );
    js_css_CSSStyleDeclaration * el = dynamic_cast<js_css_CSSStyleDeclaration *>(ptr);
    retval = v8_wrapper::Set( el->item(val_index) );
    return scope.Close(retval);
}


Handle<Value> js_css_CSSStyleDeclaration::static_get_cssText(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSStyleDeclaration, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSSStyleDeclaration, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSSStyleDeclaration*>(ptr)->cssText;
    return v8_wrapper::Set(value);
}

void js_css_CSSStyleDeclaration::static_set_cssText(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSStyleDeclaration, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSSStyleDeclaration, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSSStyleDeclaration*>(ptr)->cssText = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSSStyleDeclaration::static_get_length(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSStyleDeclaration, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSSStyleDeclaration, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const long unsigned int value = dynamic_cast<js_css_CSSStyleDeclaration*>(ptr)->length;
    return v8_wrapper::Set(value);
}

void js_css_CSSStyleDeclaration::static_set_length(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSStyleDeclaration, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSSStyleDeclaration, 2>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_css_CSSStyleDeclaration::static_get_parentRule(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSStyleDeclaration, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSSStyleDeclaration, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_css_CSSStyleDeclaration*>(ptr)->parentRule;
    return v8_wrapper::Set(value);
}

void js_css_CSSStyleDeclaration::static_set_parentRule(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSStyleDeclaration, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSSStyleDeclaration, 3>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_css_CSSStyleDeclaration >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("css::CSSStyleDeclaration"));
    proto->Set(v8::String::New("getPropertyValue"), v8::FunctionTemplate::New(js_css_CSSStyleDeclaration::static_getPropertyValue));
    proto->Set(v8::String::New("getPropertyCSSValue"), v8::FunctionTemplate::New(js_css_CSSStyleDeclaration::static_getPropertyCSSValue));
    proto->Set(v8::String::New("removeProperty"), v8::FunctionTemplate::New(js_css_CSSStyleDeclaration::static_removeProperty));
    proto->Set(v8::String::New("getPropertyPriority"), v8::FunctionTemplate::New(js_css_CSSStyleDeclaration::static_getPropertyPriority));
    proto->Set(v8::String::New("setProperty"), v8::FunctionTemplate::New(js_css_CSSStyleDeclaration::static_setProperty));
    proto->Set(v8::String::New("item"), v8::FunctionTemplate::New(js_css_CSSStyleDeclaration::static_item));
    instance->SetAccessor(v8::String::New("cssText"), js_css_CSSStyleDeclaration::static_get_cssText, js_css_CSSStyleDeclaration::static_set_cssText);
    instance->SetAccessor(v8::String::New("length"), js_css_CSSStyleDeclaration::static_get_length, js_css_CSSStyleDeclaration::static_set_length);
    instance->SetAccessor(v8::String::New("parentRule"), js_css_CSSStyleDeclaration::static_get_parentRule, js_css_CSSStyleDeclaration::static_set_parentRule);

    v8_wrapper::Registrator< js_css_CSSStyleDeclaration >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_css_CSSValue::static_get_cssText(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSValue, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSSValue, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSSValue*>(ptr)->cssText;
    return v8_wrapper::Set(value);
}

void js_css_CSSValue::static_set_cssText(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSValue, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSSValue, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSSValue*>(ptr)->cssText = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSSValue::static_get_cssValueType(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSValue, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSSValue, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const short unsigned int value = dynamic_cast<js_css_CSSValue*>(ptr)->cssValueType;
    return v8_wrapper::Set(value);
}

void js_css_CSSValue::static_set_cssValueType(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSValue, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSSValue, 2>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_css_CSSValue >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("css::CSSValue"));
    instance->SetAccessor(v8::String::New("cssText"), js_css_CSSValue::static_get_cssText, js_css_CSSValue::static_set_cssText);
    instance->SetAccessor(v8::String::New("cssValueType"), js_css_CSSValue::static_get_cssValueType, js_css_CSSValue::static_set_cssValueType);

    v8_wrapper::Registrator< js_css_CSSValue >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_css_CSSPrimitiveValue::static_setFloatValue(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    short unsigned int val_unitType = v8_wrapper::Get< short unsigned int > ( args[0] );
    double val_floatValue = v8_wrapper::Get< double > ( args[1] );
    js_css_CSSPrimitiveValue * el = dynamic_cast<js_css_CSSPrimitiveValue *>(ptr);
    el->setFloatValue(val_unitType, val_floatValue);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_css_CSSPrimitiveValue::static_getFloatValue(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    short unsigned int val_unitType = v8_wrapper::Get< short unsigned int > ( args[0] );
    js_css_CSSPrimitiveValue * el = dynamic_cast<js_css_CSSPrimitiveValue *>(ptr);
    retval = v8_wrapper::Set( el->getFloatValue(val_unitType) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_css_CSSPrimitiveValue::static_setStringValue(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    short unsigned int val_stringType = v8_wrapper::Get< short unsigned int > ( args[0] );
    css::DOMString val_stringValue = v8_wrapper::Get< css::DOMString > ( args[1] );
    js_css_CSSPrimitiveValue * el = dynamic_cast<js_css_CSSPrimitiveValue *>(ptr);
    el->setStringValue(val_stringType, val_stringValue);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_css_CSSPrimitiveValue::static_getStringValue(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_css_CSSPrimitiveValue * el = dynamic_cast<js_css_CSSPrimitiveValue *>(ptr);
    retval = v8_wrapper::Set( el->getStringValue() );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_css_CSSPrimitiveValue::static_getCounterValue(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_css_CSSPrimitiveValue * el = dynamic_cast<js_css_CSSPrimitiveValue *>(ptr);
    retval = v8_wrapper::Set( el->getCounterValue() );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_css_CSSPrimitiveValue::static_getRectValue(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_css_CSSPrimitiveValue * el = dynamic_cast<js_css_CSSPrimitiveValue *>(ptr);
    retval = v8_wrapper::Set( el->getRectValue() );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_css_CSSPrimitiveValue::static_getRGBColorValue(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_css_CSSPrimitiveValue * el = dynamic_cast<js_css_CSSPrimitiveValue *>(ptr);
    retval = v8_wrapper::Set( el->getRGBColorValue() );
    return scope.Close(retval);
}


Handle<Value> js_css_CSSPrimitiveValue::static_get_primitiveType(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSPrimitiveValue, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSSPrimitiveValue, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const short unsigned int value = dynamic_cast<js_css_CSSPrimitiveValue*>(ptr)->primitiveType;
    return v8_wrapper::Set(value);
}

void js_css_CSSPrimitiveValue::static_set_primitiveType(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSPrimitiveValue, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSSPrimitiveValue, 1>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_css_CSSPrimitiveValue >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("css::CSSPrimitiveValue"));
    result->Inherit(v8_wrapper::Registrator< js_css_CSSValue >::GetTemplate());
    proto->Set(v8::String::New("setFloatValue"), v8::FunctionTemplate::New(js_css_CSSPrimitiveValue::static_setFloatValue));
    proto->Set(v8::String::New("getFloatValue"), v8::FunctionTemplate::New(js_css_CSSPrimitiveValue::static_getFloatValue));
    proto->Set(v8::String::New("setStringValue"), v8::FunctionTemplate::New(js_css_CSSPrimitiveValue::static_setStringValue));
    proto->Set(v8::String::New("getStringValue"), v8::FunctionTemplate::New(js_css_CSSPrimitiveValue::static_getStringValue));
    proto->Set(v8::String::New("getCounterValue"), v8::FunctionTemplate::New(js_css_CSSPrimitiveValue::static_getCounterValue));
    proto->Set(v8::String::New("getRectValue"), v8::FunctionTemplate::New(js_css_CSSPrimitiveValue::static_getRectValue));
    proto->Set(v8::String::New("getRGBColorValue"), v8::FunctionTemplate::New(js_css_CSSPrimitiveValue::static_getRGBColorValue));
    instance->SetAccessor(v8::String::New("primitiveType"), js_css_CSSPrimitiveValue::static_get_primitiveType, js_css_CSSPrimitiveValue::static_set_primitiveType);

    v8_wrapper::Registrator< js_css_CSSPrimitiveValue >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_css_CSSValueList::static_item(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    long unsigned int val_index = v8_wrapper::Get< long unsigned int > ( args[0] );
    js_css_CSSValueList * el = dynamic_cast<js_css_CSSValueList *>(ptr);
    retval = v8_wrapper::Set( el->item(val_index) );
    return scope.Close(retval);
}


Handle<Value> js_css_CSSValueList::static_get_length(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSValueList, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSSValueList, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const long unsigned int value = dynamic_cast<js_css_CSSValueList*>(ptr)->length;
    return v8_wrapper::Set(value);
}

void js_css_CSSValueList::static_set_length(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSValueList, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSSValueList, 1>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_css_CSSValueList >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("css::CSSValueList"));
    result->Inherit(v8_wrapper::Registrator< js_css_CSSValue >::GetTemplate());
    proto->Set(v8::String::New("item"), v8::FunctionTemplate::New(js_css_CSSValueList::static_item));
    instance->SetAccessor(v8::String::New("length"), js_css_CSSValueList::static_get_length, js_css_CSSValueList::static_set_length);

    v8_wrapper::Registrator< js_css_CSSValueList >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_css_RGBColor::static_get_red(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_RGBColor, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_RGBColor, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_css_RGBColor*>(ptr)->red;
    return v8_wrapper::Set(value);
}

void js_css_RGBColor::static_set_red(Local<String> property, Local<Value> value,
                                     const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_RGBColor, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_css_RGBColor, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_css_RGBColor::static_get_green(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_RGBColor, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_RGBColor, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_css_RGBColor*>(ptr)->green;
    return v8_wrapper::Set(value);
}

void js_css_RGBColor::static_set_green(Local<String> property, Local<Value> value,
                                       const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_RGBColor, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_css_RGBColor, 2>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_css_RGBColor::static_get_blue(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_RGBColor, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_RGBColor, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_css_RGBColor*>(ptr)->blue;
    return v8_wrapper::Set(value);
}

void js_css_RGBColor::static_set_blue(Local<String> property, Local<Value> value,
                                      const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_RGBColor, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_css_RGBColor, 3>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_css_RGBColor >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("css::RGBColor"));
    instance->SetAccessor(v8::String::New("red"), js_css_RGBColor::static_get_red, js_css_RGBColor::static_set_red);
    instance->SetAccessor(v8::String::New("green"), js_css_RGBColor::static_get_green, js_css_RGBColor::static_set_green);
    instance->SetAccessor(v8::String::New("blue"), js_css_RGBColor::static_get_blue, js_css_RGBColor::static_set_blue);

    v8_wrapper::Registrator< js_css_RGBColor >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_css_Rect::static_get_top(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_Rect, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_Rect, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_css_Rect*>(ptr)->top;
    return v8_wrapper::Set(value);
}

void js_css_Rect::static_set_top(Local<String> property, Local<Value> value,
                                 const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_Rect, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_css_Rect, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_css_Rect::static_get_right(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_Rect, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_Rect, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_css_Rect*>(ptr)->right;
    return v8_wrapper::Set(value);
}

void js_css_Rect::static_set_right(Local<String> property, Local<Value> value,
                                   const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_Rect, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_css_Rect, 2>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_css_Rect::static_get_bottom(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_Rect, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_Rect, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_css_Rect*>(ptr)->bottom;
    return v8_wrapper::Set(value);
}

void js_css_Rect::static_set_bottom(Local<String> property, Local<Value> value,
                                    const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_Rect, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_css_Rect, 3>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_css_Rect::static_get_left(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_Rect, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_Rect, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_css_Rect*>(ptr)->left;
    return v8_wrapper::Set(value);
}

void js_css_Rect::static_set_left(Local<String> property, Local<Value> value,
                                  const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_Rect, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_css_Rect, 4>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_css_Rect >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("css::Rect"));
    instance->SetAccessor(v8::String::New("top"), js_css_Rect::static_get_top, js_css_Rect::static_set_top);
    instance->SetAccessor(v8::String::New("right"), js_css_Rect::static_get_right, js_css_Rect::static_set_right);
    instance->SetAccessor(v8::String::New("bottom"), js_css_Rect::static_get_bottom, js_css_Rect::static_set_bottom);
    instance->SetAccessor(v8::String::New("left"), js_css_Rect::static_get_left, js_css_Rect::static_set_left);

    v8_wrapper::Registrator< js_css_Rect >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_css_Counter::static_get_identifier(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_Counter, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_Counter, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const css::DOMString value = dynamic_cast<js_css_Counter*>(ptr)->identifier;
    return v8_wrapper::Set(value);
}

void js_css_Counter::static_set_identifier(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_Counter, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_css_Counter, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_css_Counter::static_get_listStyle(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_Counter, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_Counter, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const css::DOMString value = dynamic_cast<js_css_Counter*>(ptr)->listStyle;
    return v8_wrapper::Set(value);
}

void js_css_Counter::static_set_listStyle(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_Counter, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_css_Counter, 2>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_css_Counter::static_get_separator(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_Counter, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_Counter, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const css::DOMString value = dynamic_cast<js_css_Counter*>(ptr)->separator;
    return v8_wrapper::Set(value);
}

void js_css_Counter::static_set_separator(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_Counter, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_css_Counter, 3>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_css_Counter >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("css::Counter"));
    instance->SetAccessor(v8::String::New("identifier"), js_css_Counter::static_get_identifier, js_css_Counter::static_set_identifier);
    instance->SetAccessor(v8::String::New("listStyle"), js_css_Counter::static_get_listStyle, js_css_Counter::static_set_listStyle);
    instance->SetAccessor(v8::String::New("separator"), js_css_Counter::static_get_separator, js_css_Counter::static_set_separator);

    v8_wrapper::Registrator< js_css_Counter >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_css_ElementCSSInlineStyle::static_get_style(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_ElementCSSInlineStyle, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_ElementCSSInlineStyle, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_css_ElementCSSInlineStyle*>(ptr)->style;
    return v8_wrapper::Set(value);
}

void js_css_ElementCSSInlineStyle::static_set_style(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_ElementCSSInlineStyle, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_css_ElementCSSInlineStyle, 1>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_css_ElementCSSInlineStyle >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("css::ElementCSSInlineStyle"));
    instance->SetAccessor(v8::String::New("style"), js_css_ElementCSSInlineStyle::static_get_style, js_css_ElementCSSInlineStyle::static_set_style);

    v8_wrapper::Registrator< js_css_ElementCSSInlineStyle >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_css_CSS2Properties::static_get_azimuth(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->azimuth;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_azimuth(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->azimuth = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_background(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->background;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_background(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->background = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_backgroundAttachment(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->backgroundAttachment;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_backgroundAttachment(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->backgroundAttachment = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_backgroundColor(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->backgroundColor;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_backgroundColor(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 4>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->backgroundColor = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_backgroundImage(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->backgroundImage;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_backgroundImage(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 5>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->backgroundImage = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_backgroundPosition(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->backgroundPosition;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_backgroundPosition(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 6>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->backgroundPosition = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_backgroundRepeat(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 7>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 7>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->backgroundRepeat;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_backgroundRepeat(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 7>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 7>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->backgroundRepeat = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_border(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 8>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 8>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->border;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_border(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 8>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 8>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->border = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_borderCollapse(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 9>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 9>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->borderCollapse;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_borderCollapse(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 9>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 9>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->borderCollapse = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_borderColor(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 10>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 10>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->borderColor;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_borderColor(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 10>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 10>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->borderColor = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_borderSpacing(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 11>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 11>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->borderSpacing;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_borderSpacing(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 11>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 11>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->borderSpacing = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_borderStyle(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 12>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 12>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->borderStyle;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_borderStyle(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 12>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 12>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->borderStyle = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_borderTop(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 13>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 13>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->borderTop;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_borderTop(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 13>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 13>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->borderTop = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_borderRight(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 14>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 14>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->borderRight;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_borderRight(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 14>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 14>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->borderRight = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_borderBottom(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 15>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 15>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->borderBottom;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_borderBottom(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 15>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 15>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->borderBottom = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_borderLeft(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 16>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 16>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->borderLeft;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_borderLeft(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 16>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 16>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->borderLeft = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_borderTopColor(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 17>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 17>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->borderTopColor;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_borderTopColor(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 17>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 17>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->borderTopColor = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_borderRightColor(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 18>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 18>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->borderRightColor;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_borderRightColor(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 18>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 18>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->borderRightColor = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_borderBottomColor(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 19>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 19>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->borderBottomColor;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_borderBottomColor(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 19>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 19>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->borderBottomColor = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_borderLeftColor(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 20>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 20>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->borderLeftColor;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_borderLeftColor(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 20>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 20>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->borderLeftColor = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_borderTopStyle(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 21>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 21>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->borderTopStyle;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_borderTopStyle(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 21>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 21>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->borderTopStyle = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_borderRightStyle(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 22>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 22>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->borderRightStyle;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_borderRightStyle(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 22>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 22>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->borderRightStyle = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_borderBottomStyle(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 23>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 23>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->borderBottomStyle;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_borderBottomStyle(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 23>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 23>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->borderBottomStyle = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_borderLeftStyle(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 24>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 24>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->borderLeftStyle;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_borderLeftStyle(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 24>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 24>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->borderLeftStyle = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_borderTopWidth(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 25>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 25>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->borderTopWidth;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_borderTopWidth(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 25>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 25>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->borderTopWidth = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_borderRightWidth(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 26>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 26>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->borderRightWidth;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_borderRightWidth(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 26>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 26>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->borderRightWidth = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_borderBottomWidth(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 27>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 27>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->borderBottomWidth;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_borderBottomWidth(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 27>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 27>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->borderBottomWidth = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_borderLeftWidth(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 28>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 28>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->borderLeftWidth;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_borderLeftWidth(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 28>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 28>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->borderLeftWidth = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_borderWidth(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 29>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 29>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->borderWidth;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_borderWidth(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 29>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 29>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->borderWidth = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_bottom(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 30>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 30>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->bottom;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_bottom(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 30>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 30>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->bottom = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_captionSide(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 31>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 31>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->captionSide;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_captionSide(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 31>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 31>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->captionSide = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_clear(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 32>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 32>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->clear;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_clear(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 32>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 32>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->clear = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_clip(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 33>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 33>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->clip;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_clip(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 33>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 33>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->clip = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_color(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 34>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 34>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->color;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_color(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 34>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 34>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->color = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_content(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 35>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 35>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->content;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_content(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 35>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 35>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->content = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_counterIncrement(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 36>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 36>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->counterIncrement;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_counterIncrement(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 36>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 36>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->counterIncrement = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_counterReset(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 37>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 37>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->counterReset;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_counterReset(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 37>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 37>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->counterReset = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_cue(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 38>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 38>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->cue;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_cue(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 38>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 38>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->cue = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_cueAfter(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 39>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 39>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->cueAfter;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_cueAfter(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 39>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 39>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->cueAfter = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_cueBefore(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 40>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 40>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->cueBefore;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_cueBefore(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 40>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 40>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->cueBefore = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_cursor(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 41>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 41>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->cursor;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_cursor(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 41>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 41>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->cursor = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_direction(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 42>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 42>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->direction;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_direction(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 42>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 42>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->direction = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_display(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 43>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 43>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->display;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_display(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 43>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 43>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->display = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_elevation(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 44>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 44>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->elevation;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_elevation(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 44>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 44>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->elevation = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_emptyCells(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 45>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 45>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->emptyCells;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_emptyCells(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 45>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 45>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->emptyCells = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_cssFloat(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 46>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 46>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->cssFloat;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_cssFloat(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 46>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 46>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->cssFloat = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_font(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 47>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 47>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->font;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_font(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 47>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 47>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->font = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_fontFamily(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 48>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 48>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->fontFamily;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_fontFamily(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 48>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 48>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->fontFamily = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_fontSize(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 49>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 49>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->fontSize;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_fontSize(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 49>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 49>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->fontSize = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_fontSizeAdjust(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 50>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 50>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->fontSizeAdjust;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_fontSizeAdjust(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 50>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 50>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->fontSizeAdjust = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_fontStretch(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 51>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 51>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->fontStretch;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_fontStretch(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 51>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 51>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->fontStretch = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_fontStyle(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 52>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 52>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->fontStyle;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_fontStyle(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 52>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 52>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->fontStyle = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_fontVariant(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 53>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 53>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->fontVariant;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_fontVariant(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 53>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 53>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->fontVariant = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_fontWeight(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 54>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 54>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->fontWeight;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_fontWeight(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 54>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 54>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->fontWeight = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_height(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 55>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 55>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->height;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_height(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 55>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 55>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->height = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_left(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 56>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 56>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->left;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_left(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 56>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 56>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->left = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_letterSpacing(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 57>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 57>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->letterSpacing;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_letterSpacing(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 57>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 57>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->letterSpacing = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_lineHeight(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 58>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 58>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->lineHeight;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_lineHeight(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 58>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 58>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->lineHeight = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_listStyle(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 59>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 59>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->listStyle;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_listStyle(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 59>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 59>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->listStyle = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_listStyleImage(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 60>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 60>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->listStyleImage;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_listStyleImage(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 60>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 60>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->listStyleImage = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_listStylePosition(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 61>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 61>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->listStylePosition;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_listStylePosition(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 61>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 61>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->listStylePosition = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_listStyleType(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 62>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 62>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->listStyleType;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_listStyleType(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 62>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 62>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->listStyleType = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_margin(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 63>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 63>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->margin;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_margin(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 63>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 63>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->margin = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_marginTop(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 64>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 64>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->marginTop;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_marginTop(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 64>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 64>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->marginTop = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_marginRight(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 65>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 65>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->marginRight;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_marginRight(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 65>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 65>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->marginRight = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_marginBottom(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 66>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 66>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->marginBottom;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_marginBottom(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 66>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 66>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->marginBottom = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_marginLeft(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 67>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 67>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->marginLeft;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_marginLeft(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 67>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 67>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->marginLeft = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_markerOffset(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 68>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 68>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->markerOffset;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_markerOffset(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 68>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 68>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->markerOffset = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_marks(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 69>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 69>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->marks;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_marks(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 69>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 69>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->marks = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_maxHeight(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 70>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 70>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->maxHeight;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_maxHeight(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 70>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 70>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->maxHeight = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_maxWidth(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 71>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 71>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->maxWidth;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_maxWidth(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 71>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 71>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->maxWidth = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_minHeight(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 72>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 72>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->minHeight;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_minHeight(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 72>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 72>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->minHeight = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_minWidth(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 73>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 73>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->minWidth;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_minWidth(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 73>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 73>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->minWidth = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_orphans(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 74>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 74>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->orphans;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_orphans(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 74>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 74>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->orphans = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_outline(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 75>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 75>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->outline;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_outline(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 75>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 75>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->outline = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_outlineColor(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 76>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 76>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->outlineColor;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_outlineColor(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 76>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 76>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->outlineColor = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_outlineStyle(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 77>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 77>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->outlineStyle;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_outlineStyle(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 77>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 77>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->outlineStyle = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_outlineWidth(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 78>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 78>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->outlineWidth;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_outlineWidth(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 78>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 78>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->outlineWidth = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_overflow(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 79>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 79>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->overflow;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_overflow(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 79>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 79>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->overflow = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_padding(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 80>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 80>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->padding;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_padding(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 80>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 80>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->padding = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_paddingTop(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 81>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 81>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->paddingTop;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_paddingTop(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 81>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 81>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->paddingTop = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_paddingRight(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 82>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 82>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->paddingRight;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_paddingRight(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 82>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 82>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->paddingRight = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_paddingBottom(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 83>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 83>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->paddingBottom;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_paddingBottom(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 83>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 83>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->paddingBottom = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_paddingLeft(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 84>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 84>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->paddingLeft;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_paddingLeft(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 84>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 84>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->paddingLeft = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_page(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 85>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 85>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->page;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_page(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 85>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 85>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->page = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_pageBreakAfter(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 86>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 86>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->pageBreakAfter;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_pageBreakAfter(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 86>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 86>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->pageBreakAfter = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_pageBreakBefore(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 87>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 87>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->pageBreakBefore;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_pageBreakBefore(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 87>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 87>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->pageBreakBefore = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_pageBreakInside(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 88>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 88>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->pageBreakInside;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_pageBreakInside(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 88>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 88>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->pageBreakInside = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_pause(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 89>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 89>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->pause;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_pause(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 89>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 89>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->pause = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_pauseAfter(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 90>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 90>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->pauseAfter;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_pauseAfter(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 90>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 90>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->pauseAfter = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_pauseBefore(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 91>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 91>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->pauseBefore;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_pauseBefore(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 91>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 91>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->pauseBefore = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_pitch(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 92>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 92>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->pitch;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_pitch(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 92>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 92>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->pitch = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_pitchRange(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 93>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 93>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->pitchRange;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_pitchRange(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 93>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 93>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->pitchRange = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_playDuring(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 94>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 94>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->playDuring;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_playDuring(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 94>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 94>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->playDuring = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_position(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 95>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 95>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->position;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_position(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 95>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 95>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->position = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_quotes(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 96>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 96>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->quotes;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_quotes(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 96>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 96>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->quotes = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_richness(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 97>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 97>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->richness;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_richness(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 97>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 97>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->richness = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_right(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 98>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 98>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->right;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_right(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 98>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 98>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->right = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_size(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 99>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 99>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->size;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_size(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 99>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 99>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->size = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_speak(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 100>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 100>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->speak;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_speak(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 100>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 100>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->speak = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_speakHeader(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 101>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 101>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->speakHeader;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_speakHeader(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 101>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 101>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->speakHeader = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_speakNumeral(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 102>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 102>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->speakNumeral;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_speakNumeral(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 102>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 102>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->speakNumeral = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_speakPunctuation(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 103>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 103>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->speakPunctuation;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_speakPunctuation(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 103>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 103>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->speakPunctuation = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_speechRate(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 104>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 104>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->speechRate;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_speechRate(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 104>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 104>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->speechRate = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_stress(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 105>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 105>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->stress;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_stress(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 105>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 105>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->stress = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_tableLayout(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 106>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 106>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->tableLayout;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_tableLayout(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 106>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 106>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->tableLayout = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_textAlign(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 107>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 107>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->textAlign;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_textAlign(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 107>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 107>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->textAlign = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_textDecoration(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 108>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 108>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->textDecoration;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_textDecoration(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 108>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 108>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->textDecoration = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_textIndent(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 109>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 109>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->textIndent;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_textIndent(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 109>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 109>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->textIndent = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_textShadow(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 110>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 110>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->textShadow;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_textShadow(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 110>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 110>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->textShadow = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_textTransform(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 111>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 111>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->textTransform;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_textTransform(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 111>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 111>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->textTransform = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_top(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 112>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 112>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->top;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_top(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 112>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 112>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->top = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_unicodeBidi(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 113>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 113>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->unicodeBidi;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_unicodeBidi(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 113>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 113>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->unicodeBidi = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_verticalAlign(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 114>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 114>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->verticalAlign;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_verticalAlign(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 114>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 114>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->verticalAlign = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_visibility(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 115>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 115>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->visibility;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_visibility(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 115>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 115>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->visibility = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_voiceFamily(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 116>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 116>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->voiceFamily;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_voiceFamily(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 116>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 116>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->voiceFamily = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_volume(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 117>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 117>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->volume;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_volume(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 117>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 117>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->volume = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_whiteSpace(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 118>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 118>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->whiteSpace;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_whiteSpace(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 118>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 118>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->whiteSpace = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_widows(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 119>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 119>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->widows;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_widows(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 119>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 119>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->widows = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_width(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 120>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 120>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->width;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_width(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 120>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 120>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->width = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_wordSpacing(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 121>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 121>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->wordSpacing;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_wordSpacing(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 121>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 121>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->wordSpacing = v8_wrapper::Get< css::DOMString >(value);
}

Handle<Value> js_css_CSS2Properties::static_get_zIndex(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 122>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSS2Properties, 122>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    css::DOMString value = dynamic_cast<js_css_CSS2Properties*>(ptr)->zIndex;
    return v8_wrapper::Set(value);
}

void js_css_CSS2Properties::static_set_zIndex(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSS2Properties, 122>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSS2Properties, 122>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_css_CSS2Properties*>(ptr)->zIndex = v8_wrapper::Get< css::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_css_CSS2Properties >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("css::CSS2Properties"));
    instance->SetAccessor(v8::String::New("azimuth"), js_css_CSS2Properties::static_get_azimuth, js_css_CSS2Properties::static_set_azimuth);
    instance->SetAccessor(v8::String::New("background"), js_css_CSS2Properties::static_get_background, js_css_CSS2Properties::static_set_background);
    instance->SetAccessor(v8::String::New("backgroundAttachment"), js_css_CSS2Properties::static_get_backgroundAttachment, js_css_CSS2Properties::static_set_backgroundAttachment);
    instance->SetAccessor(v8::String::New("backgroundColor"), js_css_CSS2Properties::static_get_backgroundColor, js_css_CSS2Properties::static_set_backgroundColor);
    instance->SetAccessor(v8::String::New("backgroundImage"), js_css_CSS2Properties::static_get_backgroundImage, js_css_CSS2Properties::static_set_backgroundImage);
    instance->SetAccessor(v8::String::New("backgroundPosition"), js_css_CSS2Properties::static_get_backgroundPosition, js_css_CSS2Properties::static_set_backgroundPosition);
    instance->SetAccessor(v8::String::New("backgroundRepeat"), js_css_CSS2Properties::static_get_backgroundRepeat, js_css_CSS2Properties::static_set_backgroundRepeat);
    instance->SetAccessor(v8::String::New("border"), js_css_CSS2Properties::static_get_border, js_css_CSS2Properties::static_set_border);
    instance->SetAccessor(v8::String::New("borderCollapse"), js_css_CSS2Properties::static_get_borderCollapse, js_css_CSS2Properties::static_set_borderCollapse);
    instance->SetAccessor(v8::String::New("borderColor"), js_css_CSS2Properties::static_get_borderColor, js_css_CSS2Properties::static_set_borderColor);
    instance->SetAccessor(v8::String::New("borderSpacing"), js_css_CSS2Properties::static_get_borderSpacing, js_css_CSS2Properties::static_set_borderSpacing);
    instance->SetAccessor(v8::String::New("borderStyle"), js_css_CSS2Properties::static_get_borderStyle, js_css_CSS2Properties::static_set_borderStyle);
    instance->SetAccessor(v8::String::New("borderTop"), js_css_CSS2Properties::static_get_borderTop, js_css_CSS2Properties::static_set_borderTop);
    instance->SetAccessor(v8::String::New("borderRight"), js_css_CSS2Properties::static_get_borderRight, js_css_CSS2Properties::static_set_borderRight);
    instance->SetAccessor(v8::String::New("borderBottom"), js_css_CSS2Properties::static_get_borderBottom, js_css_CSS2Properties::static_set_borderBottom);
    instance->SetAccessor(v8::String::New("borderLeft"), js_css_CSS2Properties::static_get_borderLeft, js_css_CSS2Properties::static_set_borderLeft);
    instance->SetAccessor(v8::String::New("borderTopColor"), js_css_CSS2Properties::static_get_borderTopColor, js_css_CSS2Properties::static_set_borderTopColor);
    instance->SetAccessor(v8::String::New("borderRightColor"), js_css_CSS2Properties::static_get_borderRightColor, js_css_CSS2Properties::static_set_borderRightColor);
    instance->SetAccessor(v8::String::New("borderBottomColor"), js_css_CSS2Properties::static_get_borderBottomColor, js_css_CSS2Properties::static_set_borderBottomColor);
    instance->SetAccessor(v8::String::New("borderLeftColor"), js_css_CSS2Properties::static_get_borderLeftColor, js_css_CSS2Properties::static_set_borderLeftColor);
    instance->SetAccessor(v8::String::New("borderTopStyle"), js_css_CSS2Properties::static_get_borderTopStyle, js_css_CSS2Properties::static_set_borderTopStyle);
    instance->SetAccessor(v8::String::New("borderRightStyle"), js_css_CSS2Properties::static_get_borderRightStyle, js_css_CSS2Properties::static_set_borderRightStyle);
    instance->SetAccessor(v8::String::New("borderBottomStyle"), js_css_CSS2Properties::static_get_borderBottomStyle, js_css_CSS2Properties::static_set_borderBottomStyle);
    instance->SetAccessor(v8::String::New("borderLeftStyle"), js_css_CSS2Properties::static_get_borderLeftStyle, js_css_CSS2Properties::static_set_borderLeftStyle);
    instance->SetAccessor(v8::String::New("borderTopWidth"), js_css_CSS2Properties::static_get_borderTopWidth, js_css_CSS2Properties::static_set_borderTopWidth);
    instance->SetAccessor(v8::String::New("borderRightWidth"), js_css_CSS2Properties::static_get_borderRightWidth, js_css_CSS2Properties::static_set_borderRightWidth);
    instance->SetAccessor(v8::String::New("borderBottomWidth"), js_css_CSS2Properties::static_get_borderBottomWidth, js_css_CSS2Properties::static_set_borderBottomWidth);
    instance->SetAccessor(v8::String::New("borderLeftWidth"), js_css_CSS2Properties::static_get_borderLeftWidth, js_css_CSS2Properties::static_set_borderLeftWidth);
    instance->SetAccessor(v8::String::New("borderWidth"), js_css_CSS2Properties::static_get_borderWidth, js_css_CSS2Properties::static_set_borderWidth);
    instance->SetAccessor(v8::String::New("bottom"), js_css_CSS2Properties::static_get_bottom, js_css_CSS2Properties::static_set_bottom);
    instance->SetAccessor(v8::String::New("captionSide"), js_css_CSS2Properties::static_get_captionSide, js_css_CSS2Properties::static_set_captionSide);
    instance->SetAccessor(v8::String::New("clear"), js_css_CSS2Properties::static_get_clear, js_css_CSS2Properties::static_set_clear);
    instance->SetAccessor(v8::String::New("clip"), js_css_CSS2Properties::static_get_clip, js_css_CSS2Properties::static_set_clip);
    instance->SetAccessor(v8::String::New("color"), js_css_CSS2Properties::static_get_color, js_css_CSS2Properties::static_set_color);
    instance->SetAccessor(v8::String::New("content"), js_css_CSS2Properties::static_get_content, js_css_CSS2Properties::static_set_content);
    instance->SetAccessor(v8::String::New("counterIncrement"), js_css_CSS2Properties::static_get_counterIncrement, js_css_CSS2Properties::static_set_counterIncrement);
    instance->SetAccessor(v8::String::New("counterReset"), js_css_CSS2Properties::static_get_counterReset, js_css_CSS2Properties::static_set_counterReset);
    instance->SetAccessor(v8::String::New("cue"), js_css_CSS2Properties::static_get_cue, js_css_CSS2Properties::static_set_cue);
    instance->SetAccessor(v8::String::New("cueAfter"), js_css_CSS2Properties::static_get_cueAfter, js_css_CSS2Properties::static_set_cueAfter);
    instance->SetAccessor(v8::String::New("cueBefore"), js_css_CSS2Properties::static_get_cueBefore, js_css_CSS2Properties::static_set_cueBefore);
    instance->SetAccessor(v8::String::New("cursor"), js_css_CSS2Properties::static_get_cursor, js_css_CSS2Properties::static_set_cursor);
    instance->SetAccessor(v8::String::New("direction"), js_css_CSS2Properties::static_get_direction, js_css_CSS2Properties::static_set_direction);
    instance->SetAccessor(v8::String::New("display"), js_css_CSS2Properties::static_get_display, js_css_CSS2Properties::static_set_display);
    instance->SetAccessor(v8::String::New("elevation"), js_css_CSS2Properties::static_get_elevation, js_css_CSS2Properties::static_set_elevation);
    instance->SetAccessor(v8::String::New("emptyCells"), js_css_CSS2Properties::static_get_emptyCells, js_css_CSS2Properties::static_set_emptyCells);
    instance->SetAccessor(v8::String::New("cssFloat"), js_css_CSS2Properties::static_get_cssFloat, js_css_CSS2Properties::static_set_cssFloat);
    instance->SetAccessor(v8::String::New("font"), js_css_CSS2Properties::static_get_font, js_css_CSS2Properties::static_set_font);
    instance->SetAccessor(v8::String::New("fontFamily"), js_css_CSS2Properties::static_get_fontFamily, js_css_CSS2Properties::static_set_fontFamily);
    instance->SetAccessor(v8::String::New("fontSize"), js_css_CSS2Properties::static_get_fontSize, js_css_CSS2Properties::static_set_fontSize);
    instance->SetAccessor(v8::String::New("fontSizeAdjust"), js_css_CSS2Properties::static_get_fontSizeAdjust, js_css_CSS2Properties::static_set_fontSizeAdjust);
    instance->SetAccessor(v8::String::New("fontStretch"), js_css_CSS2Properties::static_get_fontStretch, js_css_CSS2Properties::static_set_fontStretch);
    instance->SetAccessor(v8::String::New("fontStyle"), js_css_CSS2Properties::static_get_fontStyle, js_css_CSS2Properties::static_set_fontStyle);
    instance->SetAccessor(v8::String::New("fontVariant"), js_css_CSS2Properties::static_get_fontVariant, js_css_CSS2Properties::static_set_fontVariant);
    instance->SetAccessor(v8::String::New("fontWeight"), js_css_CSS2Properties::static_get_fontWeight, js_css_CSS2Properties::static_set_fontWeight);
    instance->SetAccessor(v8::String::New("height"), js_css_CSS2Properties::static_get_height, js_css_CSS2Properties::static_set_height);
    instance->SetAccessor(v8::String::New("left"), js_css_CSS2Properties::static_get_left, js_css_CSS2Properties::static_set_left);
    instance->SetAccessor(v8::String::New("letterSpacing"), js_css_CSS2Properties::static_get_letterSpacing, js_css_CSS2Properties::static_set_letterSpacing);
    instance->SetAccessor(v8::String::New("lineHeight"), js_css_CSS2Properties::static_get_lineHeight, js_css_CSS2Properties::static_set_lineHeight);
    instance->SetAccessor(v8::String::New("listStyle"), js_css_CSS2Properties::static_get_listStyle, js_css_CSS2Properties::static_set_listStyle);
    instance->SetAccessor(v8::String::New("listStyleImage"), js_css_CSS2Properties::static_get_listStyleImage, js_css_CSS2Properties::static_set_listStyleImage);
    instance->SetAccessor(v8::String::New("listStylePosition"), js_css_CSS2Properties::static_get_listStylePosition, js_css_CSS2Properties::static_set_listStylePosition);
    instance->SetAccessor(v8::String::New("listStyleType"), js_css_CSS2Properties::static_get_listStyleType, js_css_CSS2Properties::static_set_listStyleType);
    instance->SetAccessor(v8::String::New("margin"), js_css_CSS2Properties::static_get_margin, js_css_CSS2Properties::static_set_margin);
    instance->SetAccessor(v8::String::New("marginTop"), js_css_CSS2Properties::static_get_marginTop, js_css_CSS2Properties::static_set_marginTop);
    instance->SetAccessor(v8::String::New("marginRight"), js_css_CSS2Properties::static_get_marginRight, js_css_CSS2Properties::static_set_marginRight);
    instance->SetAccessor(v8::String::New("marginBottom"), js_css_CSS2Properties::static_get_marginBottom, js_css_CSS2Properties::static_set_marginBottom);
    instance->SetAccessor(v8::String::New("marginLeft"), js_css_CSS2Properties::static_get_marginLeft, js_css_CSS2Properties::static_set_marginLeft);
    instance->SetAccessor(v8::String::New("markerOffset"), js_css_CSS2Properties::static_get_markerOffset, js_css_CSS2Properties::static_set_markerOffset);
    instance->SetAccessor(v8::String::New("marks"), js_css_CSS2Properties::static_get_marks, js_css_CSS2Properties::static_set_marks);
    instance->SetAccessor(v8::String::New("maxHeight"), js_css_CSS2Properties::static_get_maxHeight, js_css_CSS2Properties::static_set_maxHeight);
    instance->SetAccessor(v8::String::New("maxWidth"), js_css_CSS2Properties::static_get_maxWidth, js_css_CSS2Properties::static_set_maxWidth);
    instance->SetAccessor(v8::String::New("minHeight"), js_css_CSS2Properties::static_get_minHeight, js_css_CSS2Properties::static_set_minHeight);
    instance->SetAccessor(v8::String::New("minWidth"), js_css_CSS2Properties::static_get_minWidth, js_css_CSS2Properties::static_set_minWidth);
    instance->SetAccessor(v8::String::New("orphans"), js_css_CSS2Properties::static_get_orphans, js_css_CSS2Properties::static_set_orphans);
    instance->SetAccessor(v8::String::New("outline"), js_css_CSS2Properties::static_get_outline, js_css_CSS2Properties::static_set_outline);
    instance->SetAccessor(v8::String::New("outlineColor"), js_css_CSS2Properties::static_get_outlineColor, js_css_CSS2Properties::static_set_outlineColor);
    instance->SetAccessor(v8::String::New("outlineStyle"), js_css_CSS2Properties::static_get_outlineStyle, js_css_CSS2Properties::static_set_outlineStyle);
    instance->SetAccessor(v8::String::New("outlineWidth"), js_css_CSS2Properties::static_get_outlineWidth, js_css_CSS2Properties::static_set_outlineWidth);
    instance->SetAccessor(v8::String::New("overflow"), js_css_CSS2Properties::static_get_overflow, js_css_CSS2Properties::static_set_overflow);
    instance->SetAccessor(v8::String::New("padding"), js_css_CSS2Properties::static_get_padding, js_css_CSS2Properties::static_set_padding);
    instance->SetAccessor(v8::String::New("paddingTop"), js_css_CSS2Properties::static_get_paddingTop, js_css_CSS2Properties::static_set_paddingTop);
    instance->SetAccessor(v8::String::New("paddingRight"), js_css_CSS2Properties::static_get_paddingRight, js_css_CSS2Properties::static_set_paddingRight);
    instance->SetAccessor(v8::String::New("paddingBottom"), js_css_CSS2Properties::static_get_paddingBottom, js_css_CSS2Properties::static_set_paddingBottom);
    instance->SetAccessor(v8::String::New("paddingLeft"), js_css_CSS2Properties::static_get_paddingLeft, js_css_CSS2Properties::static_set_paddingLeft);
    instance->SetAccessor(v8::String::New("page"), js_css_CSS2Properties::static_get_page, js_css_CSS2Properties::static_set_page);
    instance->SetAccessor(v8::String::New("pageBreakAfter"), js_css_CSS2Properties::static_get_pageBreakAfter, js_css_CSS2Properties::static_set_pageBreakAfter);
    instance->SetAccessor(v8::String::New("pageBreakBefore"), js_css_CSS2Properties::static_get_pageBreakBefore, js_css_CSS2Properties::static_set_pageBreakBefore);
    instance->SetAccessor(v8::String::New("pageBreakInside"), js_css_CSS2Properties::static_get_pageBreakInside, js_css_CSS2Properties::static_set_pageBreakInside);
    instance->SetAccessor(v8::String::New("pause"), js_css_CSS2Properties::static_get_pause, js_css_CSS2Properties::static_set_pause);
    instance->SetAccessor(v8::String::New("pauseAfter"), js_css_CSS2Properties::static_get_pauseAfter, js_css_CSS2Properties::static_set_pauseAfter);
    instance->SetAccessor(v8::String::New("pauseBefore"), js_css_CSS2Properties::static_get_pauseBefore, js_css_CSS2Properties::static_set_pauseBefore);
    instance->SetAccessor(v8::String::New("pitch"), js_css_CSS2Properties::static_get_pitch, js_css_CSS2Properties::static_set_pitch);
    instance->SetAccessor(v8::String::New("pitchRange"), js_css_CSS2Properties::static_get_pitchRange, js_css_CSS2Properties::static_set_pitchRange);
    instance->SetAccessor(v8::String::New("playDuring"), js_css_CSS2Properties::static_get_playDuring, js_css_CSS2Properties::static_set_playDuring);
    instance->SetAccessor(v8::String::New("position"), js_css_CSS2Properties::static_get_position, js_css_CSS2Properties::static_set_position);
    instance->SetAccessor(v8::String::New("quotes"), js_css_CSS2Properties::static_get_quotes, js_css_CSS2Properties::static_set_quotes);
    instance->SetAccessor(v8::String::New("richness"), js_css_CSS2Properties::static_get_richness, js_css_CSS2Properties::static_set_richness);
    instance->SetAccessor(v8::String::New("right"), js_css_CSS2Properties::static_get_right, js_css_CSS2Properties::static_set_right);
    instance->SetAccessor(v8::String::New("size"), js_css_CSS2Properties::static_get_size, js_css_CSS2Properties::static_set_size);
    instance->SetAccessor(v8::String::New("speak"), js_css_CSS2Properties::static_get_speak, js_css_CSS2Properties::static_set_speak);
    instance->SetAccessor(v8::String::New("speakHeader"), js_css_CSS2Properties::static_get_speakHeader, js_css_CSS2Properties::static_set_speakHeader);
    instance->SetAccessor(v8::String::New("speakNumeral"), js_css_CSS2Properties::static_get_speakNumeral, js_css_CSS2Properties::static_set_speakNumeral);
    instance->SetAccessor(v8::String::New("speakPunctuation"), js_css_CSS2Properties::static_get_speakPunctuation, js_css_CSS2Properties::static_set_speakPunctuation);
    instance->SetAccessor(v8::String::New("speechRate"), js_css_CSS2Properties::static_get_speechRate, js_css_CSS2Properties::static_set_speechRate);
    instance->SetAccessor(v8::String::New("stress"), js_css_CSS2Properties::static_get_stress, js_css_CSS2Properties::static_set_stress);
    instance->SetAccessor(v8::String::New("tableLayout"), js_css_CSS2Properties::static_get_tableLayout, js_css_CSS2Properties::static_set_tableLayout);
    instance->SetAccessor(v8::String::New("textAlign"), js_css_CSS2Properties::static_get_textAlign, js_css_CSS2Properties::static_set_textAlign);
    instance->SetAccessor(v8::String::New("textDecoration"), js_css_CSS2Properties::static_get_textDecoration, js_css_CSS2Properties::static_set_textDecoration);
    instance->SetAccessor(v8::String::New("textIndent"), js_css_CSS2Properties::static_get_textIndent, js_css_CSS2Properties::static_set_textIndent);
    instance->SetAccessor(v8::String::New("textShadow"), js_css_CSS2Properties::static_get_textShadow, js_css_CSS2Properties::static_set_textShadow);
    instance->SetAccessor(v8::String::New("textTransform"), js_css_CSS2Properties::static_get_textTransform, js_css_CSS2Properties::static_set_textTransform);
    instance->SetAccessor(v8::String::New("top"), js_css_CSS2Properties::static_get_top, js_css_CSS2Properties::static_set_top);
    instance->SetAccessor(v8::String::New("unicodeBidi"), js_css_CSS2Properties::static_get_unicodeBidi, js_css_CSS2Properties::static_set_unicodeBidi);
    instance->SetAccessor(v8::String::New("verticalAlign"), js_css_CSS2Properties::static_get_verticalAlign, js_css_CSS2Properties::static_set_verticalAlign);
    instance->SetAccessor(v8::String::New("visibility"), js_css_CSS2Properties::static_get_visibility, js_css_CSS2Properties::static_set_visibility);
    instance->SetAccessor(v8::String::New("voiceFamily"), js_css_CSS2Properties::static_get_voiceFamily, js_css_CSS2Properties::static_set_voiceFamily);
    instance->SetAccessor(v8::String::New("volume"), js_css_CSS2Properties::static_get_volume, js_css_CSS2Properties::static_set_volume);
    instance->SetAccessor(v8::String::New("whiteSpace"), js_css_CSS2Properties::static_get_whiteSpace, js_css_CSS2Properties::static_set_whiteSpace);
    instance->SetAccessor(v8::String::New("widows"), js_css_CSS2Properties::static_get_widows, js_css_CSS2Properties::static_set_widows);
    instance->SetAccessor(v8::String::New("width"), js_css_CSS2Properties::static_get_width, js_css_CSS2Properties::static_set_width);
    instance->SetAccessor(v8::String::New("wordSpacing"), js_css_CSS2Properties::static_get_wordSpacing, js_css_CSS2Properties::static_set_wordSpacing);
    instance->SetAccessor(v8::String::New("zIndex"), js_css_CSS2Properties::static_get_zIndex, js_css_CSS2Properties::static_set_zIndex);

    v8_wrapper::Registrator< js_css_CSS2Properties >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_css_CSSStyleSheet::static_insertRule(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    css::DOMString val_rule = v8_wrapper::Get< css::DOMString > ( args[0] );
    long unsigned int val_index = v8_wrapper::Get< long unsigned int > ( args[1] );
    js_css_CSSStyleSheet * el = dynamic_cast<js_css_CSSStyleSheet *>(ptr);
    retval = v8_wrapper::Set( el->insertRule(val_rule, val_index) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_css_CSSStyleSheet::static_deleteRule(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    long unsigned int val_index = v8_wrapper::Get< long unsigned int > ( args[0] );
    js_css_CSSStyleSheet * el = dynamic_cast<js_css_CSSStyleSheet *>(ptr);
    el->deleteRule(val_index);
    return scope.Close(retval);
}


Handle<Value> js_css_CSSStyleSheet::static_get_ownerRule(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSStyleSheet, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSSStyleSheet, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_css_CSSStyleSheet*>(ptr)->ownerRule;
    return v8_wrapper::Set(value);
}

void js_css_CSSStyleSheet::static_set_ownerRule(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSStyleSheet, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSSStyleSheet, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_css_CSSStyleSheet::static_get_cssRules(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSStyleSheet, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_css_CSSStyleSheet, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_css_CSSStyleSheet*>(ptr)->cssRules;
    return v8_wrapper::Set(value);
}

void js_css_CSSStyleSheet::static_set_cssRules(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_css_CSSStyleSheet, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_css_CSSStyleSheet, 2>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_css_CSSStyleSheet >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("css::CSSStyleSheet"));
    result->Inherit(v8_wrapper::Registrator< js_stylesheets_StyleSheet >::GetTemplate());
    proto->Set(v8::String::New("insertRule"), v8::FunctionTemplate::New(js_css_CSSStyleSheet::static_insertRule));
    proto->Set(v8::String::New("deleteRule"), v8::FunctionTemplate::New(js_css_CSSStyleSheet::static_deleteRule));
    instance->SetAccessor(v8::String::New("ownerRule"), js_css_CSSStyleSheet::static_get_ownerRule, js_css_CSSStyleSheet::static_set_ownerRule);
    instance->SetAccessor(v8::String::New("cssRules"), js_css_CSSStyleSheet::static_get_cssRules, js_css_CSSStyleSheet::static_set_cssRules);

    v8_wrapper::Registrator< js_css_CSSStyleSheet >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_css_ViewCSS::static_getComputedStyle(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_elt = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    css::DOMString val_pseudoElt = v8_wrapper::Get< css::DOMString > ( args[1] );
    js_css_ViewCSS * el = dynamic_cast<js_css_ViewCSS *>(ptr);
    retval = v8_wrapper::Set( el->getComputedStyle(val_elt, val_pseudoElt) );
    return scope.Close(retval);
}


namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_css_ViewCSS >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("css::ViewCSS"));
    result->Inherit(v8_wrapper::Registrator< js_views_AbstractView >::GetTemplate());
    proto->Set(v8::String::New("getComputedStyle"), v8::FunctionTemplate::New(js_css_ViewCSS::static_getComputedStyle));
    v8_wrapper::Registrator< js_css_ViewCSS >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_css_DocumentCSS::static_getOverrideStyle(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_elt = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    css::DOMString val_pseudoElt = v8_wrapper::Get< css::DOMString > ( args[1] );
    js_css_DocumentCSS * el = dynamic_cast<js_css_DocumentCSS *>(ptr);
    retval = v8_wrapper::Set( el->getOverrideStyle(val_elt, val_pseudoElt) );
    return scope.Close(retval);
}


namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_css_DocumentCSS >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("css::DocumentCSS"));
    result->Inherit(v8_wrapper::Registrator< js_stylesheets_DocumentStyle >::GetTemplate());
    proto->Set(v8::String::New("getOverrideStyle"), v8::FunctionTemplate::New(js_css_DocumentCSS::static_getOverrideStyle));
    v8_wrapper::Registrator< js_css_DocumentCSS >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_css_DOMImplementationCSS::static_createCSSStyleSheet(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    css::DOMString val_title = v8_wrapper::Get< css::DOMString > ( args[0] );
    css::DOMString val_media = v8_wrapper::Get< css::DOMString > ( args[1] );
    js_css_DOMImplementationCSS * el = dynamic_cast<js_css_DOMImplementationCSS *>(ptr);
    retval = v8_wrapper::Set( el->createCSSStyleSheet(val_title, val_media) );
    return scope.Close(retval);
}


namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_css_DOMImplementationCSS >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("css::DOMImplementationCSS"));
    result->Inherit(v8_wrapper::Registrator< js_dom_DOMImplementation >::GetTemplate());
    proto->Set(v8::String::New("createCSSStyleSheet"), v8::FunctionTemplate::New(js_css_DOMImplementationCSS::static_createCSSStyleSheet));
    v8_wrapper::Registrator< js_css_DOMImplementationCSS >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_events_EventException::static_get_code(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_events_EventException, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_events_EventException, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    short unsigned int value = dynamic_cast<js_events_EventException*>(ptr)->code;
    return v8_wrapper::Set(value);
}

void js_events_EventException::static_set_code(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_events_EventException, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_events_EventException, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_events_EventException*>(ptr)->code = v8_wrapper::Get< short unsigned int >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_events_EventException >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("events::EventException"));
    instance->SetAccessor(v8::String::New("code"), js_events_EventException::static_get_code, js_events_EventException::static_set_code);

    v8_wrapper::Registrator< js_events_EventException >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_events_EventTarget::static_addEventListener(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    events::DOMString val_type = v8_wrapper::Get< events::DOMString > ( args[0] );
    v8::Handle<v8::Value> val_listener = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[1] );
    bool val_useCapture = v8_wrapper::Get< bool > ( args[2] );
    js_events_EventTarget * el = dynamic_cast<js_events_EventTarget *>(ptr);
    el->addEventListener(val_type, val_listener, val_useCapture);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_events_EventTarget::static_removeEventListener(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    events::DOMString val_type = v8_wrapper::Get< events::DOMString > ( args[0] );
    v8::Handle<v8::Value> val_listener = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[1] );
    bool val_useCapture = v8_wrapper::Get< bool > ( args[2] );
    js_events_EventTarget * el = dynamic_cast<js_events_EventTarget *>(ptr);
    el->removeEventListener(val_type, val_listener, val_useCapture);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_events_EventTarget::static_dispatchEvent(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_evt = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    js_events_EventTarget * el = dynamic_cast<js_events_EventTarget *>(ptr);
    retval = v8_wrapper::Set( el->dispatchEvent(val_evt) );
    return scope.Close(retval);
}


namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_events_EventTarget >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("events::EventTarget"));
    proto->Set(v8::String::New("addEventListener"), v8::FunctionTemplate::New(js_events_EventTarget::static_addEventListener));
    proto->Set(v8::String::New("removeEventListener"), v8::FunctionTemplate::New(js_events_EventTarget::static_removeEventListener));
    proto->Set(v8::String::New("dispatchEvent"), v8::FunctionTemplate::New(js_events_EventTarget::static_dispatchEvent));
    v8_wrapper::Registrator< js_events_EventTarget >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_events_EventListener::static_handleEvent(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_evt = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    js_events_EventListener * el = dynamic_cast<js_events_EventListener *>(ptr);
    el->handleEvent(val_evt);
    return scope.Close(retval);
}


namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_events_EventListener >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("events::EventListener"));
    proto->Set(v8::String::New("handleEvent"), v8::FunctionTemplate::New(js_events_EventListener::static_handleEvent));
    v8_wrapper::Registrator< js_events_EventListener >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_events_Event::static_stopPropagation(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_events_Event * el = dynamic_cast<js_events_Event *>(ptr);
    el->stopPropagation();
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_events_Event::static_preventDefault(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_events_Event * el = dynamic_cast<js_events_Event *>(ptr);
    el->preventDefault();
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_events_Event::static_initEvent(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    events::DOMString val_eventTypeArg = v8_wrapper::Get< events::DOMString > ( args[0] );
    bool val_canBubbleArg = v8_wrapper::Get< bool > ( args[1] );
    bool val_cancelableArg = v8_wrapper::Get< bool > ( args[2] );
    js_events_Event * el = dynamic_cast<js_events_Event *>(ptr);
    el->initEvent(val_eventTypeArg, val_canBubbleArg, val_cancelableArg);
    return scope.Close(retval);
}


Handle<Value> js_events_Event::static_get_type(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_events_Event, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_events_Event, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const events::DOMString value = dynamic_cast<js_events_Event*>(ptr)->type;
    return v8_wrapper::Set(value);
}

void js_events_Event::static_set_type(Local<String> property, Local<Value> value,
                                      const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_events_Event, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_events_Event, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_events_Event::static_get_target(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_events_Event, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_events_Event, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_events_Event*>(ptr)->target;
    return v8_wrapper::Set(value);
}

void js_events_Event::static_set_target(Local<String> property, Local<Value> value,
                                        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_events_Event, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_events_Event, 2>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_events_Event::static_get_currentTarget(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_events_Event, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_events_Event, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_events_Event*>(ptr)->currentTarget;
    return v8_wrapper::Set(value);
}

void js_events_Event::static_set_currentTarget(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_events_Event, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_events_Event, 3>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_events_Event::static_get_eventPhase(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_events_Event, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_events_Event, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const short unsigned int value = dynamic_cast<js_events_Event*>(ptr)->eventPhase;
    return v8_wrapper::Set(value);
}

void js_events_Event::static_set_eventPhase(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_events_Event, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_events_Event, 4>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_events_Event::static_get_bubbles(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_events_Event, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_events_Event, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const bool value = dynamic_cast<js_events_Event*>(ptr)->bubbles;
    return v8_wrapper::Set(value);
}

void js_events_Event::static_set_bubbles(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_events_Event, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_events_Event, 5>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_events_Event::static_get_cancelable(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_events_Event, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_events_Event, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const bool value = dynamic_cast<js_events_Event*>(ptr)->cancelable;
    return v8_wrapper::Set(value);
}

void js_events_Event::static_set_cancelable(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_events_Event, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_events_Event, 6>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_events_Event::static_get_timeStamp(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_events_Event, 7>::implemented) {
        return v8_wrapper::CustomAttribute<js_events_Event, 7>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_events_Event*>(ptr)->timeStamp;
    return v8_wrapper::Set(value);
}

void js_events_Event::static_set_timeStamp(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_events_Event, 7>::implemented) {
        v8_wrapper::CustomAttribute<js_events_Event, 7>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_events_Event >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("events::Event"));
    proto->Set(v8::String::New("stopPropagation"), v8::FunctionTemplate::New(js_events_Event::static_stopPropagation));
    proto->Set(v8::String::New("preventDefault"), v8::FunctionTemplate::New(js_events_Event::static_preventDefault));
    proto->Set(v8::String::New("initEvent"), v8::FunctionTemplate::New(js_events_Event::static_initEvent));
    instance->SetAccessor(v8::String::New("type"), js_events_Event::static_get_type, js_events_Event::static_set_type);
    instance->SetAccessor(v8::String::New("target"), js_events_Event::static_get_target, js_events_Event::static_set_target);
    instance->SetAccessor(v8::String::New("currentTarget"), js_events_Event::static_get_currentTarget, js_events_Event::static_set_currentTarget);
    instance->SetAccessor(v8::String::New("eventPhase"), js_events_Event::static_get_eventPhase, js_events_Event::static_set_eventPhase);
    instance->SetAccessor(v8::String::New("bubbles"), js_events_Event::static_get_bubbles, js_events_Event::static_set_bubbles);
    instance->SetAccessor(v8::String::New("cancelable"), js_events_Event::static_get_cancelable, js_events_Event::static_set_cancelable);
    instance->SetAccessor(v8::String::New("timeStamp"), js_events_Event::static_get_timeStamp, js_events_Event::static_set_timeStamp);

    v8_wrapper::Registrator< js_events_Event >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_events_DocumentEvent::static_createEvent(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    events::DOMString val_eventType = v8_wrapper::Get< events::DOMString > ( args[0] );
    js_events_DocumentEvent * el = dynamic_cast<js_events_DocumentEvent *>(ptr);
    retval = v8_wrapper::Set( el->createEvent(val_eventType) );
    return scope.Close(retval);
}


namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_events_DocumentEvent >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("events::DocumentEvent"));
    proto->Set(v8::String::New("createEvent"), v8::FunctionTemplate::New(js_events_DocumentEvent::static_createEvent));
    v8_wrapper::Registrator< js_events_DocumentEvent >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_events_UIEvent::static_initUIEvent(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    events::DOMString val_typeArg = v8_wrapper::Get< events::DOMString > ( args[0] );
    bool val_canBubbleArg = v8_wrapper::Get< bool > ( args[1] );
    bool val_cancelableArg = v8_wrapper::Get< bool > ( args[2] );
    v8::Handle<v8::Value> val_viewArg = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[3] );
    long int val_detailArg = v8_wrapper::Get< long int > ( args[4] );
    js_events_UIEvent * el = dynamic_cast<js_events_UIEvent *>(ptr);
    el->initUIEvent(val_typeArg, val_canBubbleArg, val_cancelableArg, val_viewArg, val_detailArg);
    return scope.Close(retval);
}


Handle<Value> js_events_UIEvent::static_get_view(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_events_UIEvent, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_events_UIEvent, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_events_UIEvent*>(ptr)->view;
    return v8_wrapper::Set(value);
}

void js_events_UIEvent::static_set_view(Local<String> property, Local<Value> value,
                                        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_events_UIEvent, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_events_UIEvent, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_events_UIEvent::static_get_detail(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_events_UIEvent, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_events_UIEvent, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const long int value = dynamic_cast<js_events_UIEvent*>(ptr)->detail;
    return v8_wrapper::Set(value);
}

void js_events_UIEvent::static_set_detail(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_events_UIEvent, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_events_UIEvent, 2>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_events_UIEvent >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("events::UIEvent"));
    result->Inherit(v8_wrapper::Registrator< js_events_Event >::GetTemplate());
    proto->Set(v8::String::New("initUIEvent"), v8::FunctionTemplate::New(js_events_UIEvent::static_initUIEvent));
    instance->SetAccessor(v8::String::New("view"), js_events_UIEvent::static_get_view, js_events_UIEvent::static_set_view);
    instance->SetAccessor(v8::String::New("detail"), js_events_UIEvent::static_get_detail, js_events_UIEvent::static_set_detail);

    v8_wrapper::Registrator< js_events_UIEvent >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_events_MouseEvent::static_initMouseEvent(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    events::DOMString val_typeArg = v8_wrapper::Get< events::DOMString > ( args[0] );
    bool val_canBubbleArg = v8_wrapper::Get< bool > ( args[1] );
    bool val_cancelableArg = v8_wrapper::Get< bool > ( args[2] );
    v8::Handle<v8::Value> val_viewArg = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[3] );
    long int val_detailArg = v8_wrapper::Get< long int > ( args[4] );
    long int val_screenXArg = v8_wrapper::Get< long int > ( args[5] );
    long int val_screenYArg = v8_wrapper::Get< long int > ( args[6] );
    long int val_clientXArg = v8_wrapper::Get< long int > ( args[7] );
    long int val_clientYArg = v8_wrapper::Get< long int > ( args[8] );
    bool val_ctrlKeyArg = v8_wrapper::Get< bool > ( args[9] );
    bool val_altKeyArg = v8_wrapper::Get< bool > ( args[10] );
    bool val_shiftKeyArg = v8_wrapper::Get< bool > ( args[11] );
    bool val_metaKeyArg = v8_wrapper::Get< bool > ( args[12] );
    short unsigned int val_buttonArg = v8_wrapper::Get< short unsigned int > ( args[13] );
    v8::Handle<v8::Value> val_relatedTargetArg = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[14] );
    js_events_MouseEvent * el = dynamic_cast<js_events_MouseEvent *>(ptr);
    el->initMouseEvent(val_typeArg, val_canBubbleArg, val_cancelableArg, val_viewArg, val_detailArg, val_screenXArg, val_screenYArg, val_clientXArg, val_clientYArg, val_ctrlKeyArg, val_altKeyArg, val_shiftKeyArg, val_metaKeyArg, val_buttonArg, val_relatedTargetArg);
    return scope.Close(retval);
}


Handle<Value> js_events_MouseEvent::static_get_screenX(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_events_MouseEvent, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_events_MouseEvent, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const long int value = dynamic_cast<js_events_MouseEvent*>(ptr)->screenX;
    return v8_wrapper::Set(value);
}

void js_events_MouseEvent::static_set_screenX(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_events_MouseEvent, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_events_MouseEvent, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_events_MouseEvent::static_get_screenY(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_events_MouseEvent, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_events_MouseEvent, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const long int value = dynamic_cast<js_events_MouseEvent*>(ptr)->screenY;
    return v8_wrapper::Set(value);
}

void js_events_MouseEvent::static_set_screenY(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_events_MouseEvent, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_events_MouseEvent, 2>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_events_MouseEvent::static_get_clientX(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_events_MouseEvent, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_events_MouseEvent, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const long int value = dynamic_cast<js_events_MouseEvent*>(ptr)->clientX;
    return v8_wrapper::Set(value);
}

void js_events_MouseEvent::static_set_clientX(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_events_MouseEvent, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_events_MouseEvent, 3>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_events_MouseEvent::static_get_clientY(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_events_MouseEvent, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_events_MouseEvent, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const long int value = dynamic_cast<js_events_MouseEvent*>(ptr)->clientY;
    return v8_wrapper::Set(value);
}

void js_events_MouseEvent::static_set_clientY(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_events_MouseEvent, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_events_MouseEvent, 4>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_events_MouseEvent::static_get_ctrlKey(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_events_MouseEvent, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_events_MouseEvent, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const bool value = dynamic_cast<js_events_MouseEvent*>(ptr)->ctrlKey;
    return v8_wrapper::Set(value);
}

void js_events_MouseEvent::static_set_ctrlKey(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_events_MouseEvent, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_events_MouseEvent, 5>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_events_MouseEvent::static_get_shiftKey(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_events_MouseEvent, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_events_MouseEvent, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const bool value = dynamic_cast<js_events_MouseEvent*>(ptr)->shiftKey;
    return v8_wrapper::Set(value);
}

void js_events_MouseEvent::static_set_shiftKey(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_events_MouseEvent, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_events_MouseEvent, 6>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_events_MouseEvent::static_get_altKey(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_events_MouseEvent, 7>::implemented) {
        return v8_wrapper::CustomAttribute<js_events_MouseEvent, 7>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const bool value = dynamic_cast<js_events_MouseEvent*>(ptr)->altKey;
    return v8_wrapper::Set(value);
}

void js_events_MouseEvent::static_set_altKey(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_events_MouseEvent, 7>::implemented) {
        v8_wrapper::CustomAttribute<js_events_MouseEvent, 7>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_events_MouseEvent::static_get_metaKey(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_events_MouseEvent, 8>::implemented) {
        return v8_wrapper::CustomAttribute<js_events_MouseEvent, 8>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const bool value = dynamic_cast<js_events_MouseEvent*>(ptr)->metaKey;
    return v8_wrapper::Set(value);
}

void js_events_MouseEvent::static_set_metaKey(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_events_MouseEvent, 8>::implemented) {
        v8_wrapper::CustomAttribute<js_events_MouseEvent, 8>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_events_MouseEvent::static_get_button(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_events_MouseEvent, 9>::implemented) {
        return v8_wrapper::CustomAttribute<js_events_MouseEvent, 9>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const short unsigned int value = dynamic_cast<js_events_MouseEvent*>(ptr)->button;
    return v8_wrapper::Set(value);
}

void js_events_MouseEvent::static_set_button(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_events_MouseEvent, 9>::implemented) {
        v8_wrapper::CustomAttribute<js_events_MouseEvent, 9>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_events_MouseEvent::static_get_relatedTarget(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_events_MouseEvent, 10>::implemented) {
        return v8_wrapper::CustomAttribute<js_events_MouseEvent, 10>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_events_MouseEvent*>(ptr)->relatedTarget;
    return v8_wrapper::Set(value);
}

void js_events_MouseEvent::static_set_relatedTarget(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_events_MouseEvent, 10>::implemented) {
        v8_wrapper::CustomAttribute<js_events_MouseEvent, 10>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_events_MouseEvent >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("events::MouseEvent"));
    result->Inherit(v8_wrapper::Registrator< js_events_UIEvent >::GetTemplate());
    proto->Set(v8::String::New("initMouseEvent"), v8::FunctionTemplate::New(js_events_MouseEvent::static_initMouseEvent));
    instance->SetAccessor(v8::String::New("screenX"), js_events_MouseEvent::static_get_screenX, js_events_MouseEvent::static_set_screenX);
    instance->SetAccessor(v8::String::New("screenY"), js_events_MouseEvent::static_get_screenY, js_events_MouseEvent::static_set_screenY);
    instance->SetAccessor(v8::String::New("clientX"), js_events_MouseEvent::static_get_clientX, js_events_MouseEvent::static_set_clientX);
    instance->SetAccessor(v8::String::New("clientY"), js_events_MouseEvent::static_get_clientY, js_events_MouseEvent::static_set_clientY);
    instance->SetAccessor(v8::String::New("ctrlKey"), js_events_MouseEvent::static_get_ctrlKey, js_events_MouseEvent::static_set_ctrlKey);
    instance->SetAccessor(v8::String::New("shiftKey"), js_events_MouseEvent::static_get_shiftKey, js_events_MouseEvent::static_set_shiftKey);
    instance->SetAccessor(v8::String::New("altKey"), js_events_MouseEvent::static_get_altKey, js_events_MouseEvent::static_set_altKey);
    instance->SetAccessor(v8::String::New("metaKey"), js_events_MouseEvent::static_get_metaKey, js_events_MouseEvent::static_set_metaKey);
    instance->SetAccessor(v8::String::New("button"), js_events_MouseEvent::static_get_button, js_events_MouseEvent::static_set_button);
    instance->SetAccessor(v8::String::New("relatedTarget"), js_events_MouseEvent::static_get_relatedTarget, js_events_MouseEvent::static_set_relatedTarget);

    v8_wrapper::Registrator< js_events_MouseEvent >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_events_MutationEvent::static_initMutationEvent(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    events::DOMString val_typeArg = v8_wrapper::Get< events::DOMString > ( args[0] );
    bool val_canBubbleArg = v8_wrapper::Get< bool > ( args[1] );
    bool val_cancelableArg = v8_wrapper::Get< bool > ( args[2] );
    v8::Handle<v8::Value> val_relatedNodeArg = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[3] );
    events::DOMString val_prevValueArg = v8_wrapper::Get< events::DOMString > ( args[4] );
    events::DOMString val_newValueArg = v8_wrapper::Get< events::DOMString > ( args[5] );
    events::DOMString val_attrNameArg = v8_wrapper::Get< events::DOMString > ( args[6] );
    short unsigned int val_attrChangeArg = v8_wrapper::Get< short unsigned int > ( args[7] );
    js_events_MutationEvent * el = dynamic_cast<js_events_MutationEvent *>(ptr);
    el->initMutationEvent(val_typeArg, val_canBubbleArg, val_cancelableArg, val_relatedNodeArg, val_prevValueArg, val_newValueArg, val_attrNameArg, val_attrChangeArg);
    return scope.Close(retval);
}


Handle<Value> js_events_MutationEvent::static_get_relatedNode(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_events_MutationEvent, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_events_MutationEvent, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_events_MutationEvent*>(ptr)->relatedNode;
    return v8_wrapper::Set(value);
}

void js_events_MutationEvent::static_set_relatedNode(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_events_MutationEvent, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_events_MutationEvent, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_events_MutationEvent::static_get_prevValue(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_events_MutationEvent, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_events_MutationEvent, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const events::DOMString value = dynamic_cast<js_events_MutationEvent*>(ptr)->prevValue;
    return v8_wrapper::Set(value);
}

void js_events_MutationEvent::static_set_prevValue(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_events_MutationEvent, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_events_MutationEvent, 2>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_events_MutationEvent::static_get_newValue(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_events_MutationEvent, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_events_MutationEvent, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const events::DOMString value = dynamic_cast<js_events_MutationEvent*>(ptr)->newValue;
    return v8_wrapper::Set(value);
}

void js_events_MutationEvent::static_set_newValue(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_events_MutationEvent, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_events_MutationEvent, 3>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_events_MutationEvent::static_get_attrName(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_events_MutationEvent, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_events_MutationEvent, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const events::DOMString value = dynamic_cast<js_events_MutationEvent*>(ptr)->attrName;
    return v8_wrapper::Set(value);
}

void js_events_MutationEvent::static_set_attrName(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_events_MutationEvent, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_events_MutationEvent, 4>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_events_MutationEvent::static_get_attrChange(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_events_MutationEvent, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_events_MutationEvent, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const short unsigned int value = dynamic_cast<js_events_MutationEvent*>(ptr)->attrChange;
    return v8_wrapper::Set(value);
}

void js_events_MutationEvent::static_set_attrChange(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_events_MutationEvent, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_events_MutationEvent, 5>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_events_MutationEvent >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("events::MutationEvent"));
    result->Inherit(v8_wrapper::Registrator< js_events_Event >::GetTemplate());
    proto->Set(v8::String::New("initMutationEvent"), v8::FunctionTemplate::New(js_events_MutationEvent::static_initMutationEvent));
    instance->SetAccessor(v8::String::New("relatedNode"), js_events_MutationEvent::static_get_relatedNode, js_events_MutationEvent::static_set_relatedNode);
    instance->SetAccessor(v8::String::New("prevValue"), js_events_MutationEvent::static_get_prevValue, js_events_MutationEvent::static_set_prevValue);
    instance->SetAccessor(v8::String::New("newValue"), js_events_MutationEvent::static_get_newValue, js_events_MutationEvent::static_set_newValue);
    instance->SetAccessor(v8::String::New("attrName"), js_events_MutationEvent::static_get_attrName, js_events_MutationEvent::static_set_attrName);
    instance->SetAccessor(v8::String::New("attrChange"), js_events_MutationEvent::static_get_attrChange, js_events_MutationEvent::static_set_attrChange);

    v8_wrapper::Registrator< js_events_MutationEvent >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_html2_HTMLCollection::static_item(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    long unsigned int val_index = v8_wrapper::Get< long unsigned int > ( args[0] );
    js_html2_HTMLCollection * el = dynamic_cast<js_html2_HTMLCollection *>(ptr);
    retval = v8_wrapper::Set( el->item(val_index) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_html2_HTMLCollection::static_namedItem(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    html2::DOMString val_name = v8_wrapper::Get< html2::DOMString > ( args[0] );
    js_html2_HTMLCollection * el = dynamic_cast<js_html2_HTMLCollection *>(ptr);
    retval = v8_wrapper::Set( el->namedItem(val_name) );
    return scope.Close(retval);
}


Handle<Value> js_html2_HTMLCollection::static_get_length(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLCollection, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLCollection, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const long unsigned int value = dynamic_cast<js_html2_HTMLCollection*>(ptr)->length;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLCollection::static_set_length(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLCollection, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLCollection, 1>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLCollection >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLCollection"));
    proto->Set(v8::String::New("item"), v8::FunctionTemplate::New(js_html2_HTMLCollection::static_item));
    proto->Set(v8::String::New("namedItem"), v8::FunctionTemplate::New(js_html2_HTMLCollection::static_namedItem));
    instance->SetAccessor(v8::String::New("length"), js_html2_HTMLCollection::static_get_length, js_html2_HTMLCollection::static_set_length);

    v8_wrapper::Registrator< js_html2_HTMLCollection >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_html2_HTMLOptionsCollection::static_item(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    long unsigned int val_index = v8_wrapper::Get< long unsigned int > ( args[0] );
    js_html2_HTMLOptionsCollection * el = dynamic_cast<js_html2_HTMLOptionsCollection *>(ptr);
    retval = v8_wrapper::Set( el->item(val_index) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_html2_HTMLOptionsCollection::static_namedItem(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    html2::DOMString val_name = v8_wrapper::Get< html2::DOMString > ( args[0] );
    js_html2_HTMLOptionsCollection * el = dynamic_cast<js_html2_HTMLOptionsCollection *>(ptr);
    retval = v8_wrapper::Set( el->namedItem(val_name) );
    return scope.Close(retval);
}


Handle<Value> js_html2_HTMLOptionsCollection::static_get_length(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOptionsCollection, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLOptionsCollection, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long unsigned int value = dynamic_cast<js_html2_HTMLOptionsCollection*>(ptr)->length;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLOptionsCollection::static_set_length(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOptionsCollection, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLOptionsCollection, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLOptionsCollection*>(ptr)->length = v8_wrapper::Get< long unsigned int >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLOptionsCollection >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLOptionsCollection"));
    proto->Set(v8::String::New("item"), v8::FunctionTemplate::New(js_html2_HTMLOptionsCollection::static_item));
    proto->Set(v8::String::New("namedItem"), v8::FunctionTemplate::New(js_html2_HTMLOptionsCollection::static_namedItem));
    instance->SetAccessor(v8::String::New("length"), js_html2_HTMLOptionsCollection::static_get_length, js_html2_HTMLOptionsCollection::static_set_length);

    v8_wrapper::Registrator< js_html2_HTMLOptionsCollection >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_html2_HTMLDocument::static_open(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_html2_HTMLDocument * el = dynamic_cast<js_html2_HTMLDocument *>(ptr);
    el->open();
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_html2_HTMLDocument::static_close(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_html2_HTMLDocument * el = dynamic_cast<js_html2_HTMLDocument *>(ptr);
    el->close();
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_html2_HTMLDocument::static_write(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    html2::DOMString val_text = v8_wrapper::Get< html2::DOMString > ( args[0] );
    js_html2_HTMLDocument * el = dynamic_cast<js_html2_HTMLDocument *>(ptr);
    el->write(val_text);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_html2_HTMLDocument::static_writeln(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    html2::DOMString val_text = v8_wrapper::Get< html2::DOMString > ( args[0] );
    js_html2_HTMLDocument * el = dynamic_cast<js_html2_HTMLDocument *>(ptr);
    el->writeln(val_text);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_html2_HTMLDocument::static_getElementsByName(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    html2::DOMString val_elementName = v8_wrapper::Get< html2::DOMString > ( args[0] );
    js_html2_HTMLDocument * el = dynamic_cast<js_html2_HTMLDocument *>(ptr);
    retval = v8_wrapper::Set( el->getElementsByName(val_elementName) );
    return scope.Close(retval);
}


Handle<Value> js_html2_HTMLDocument::static_get_title(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLDocument*>(ptr)->title;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLDocument::static_set_title(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLDocument*>(ptr)->title = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLDocument::static_get_referrer(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const html2::DOMString value = dynamic_cast<js_html2_HTMLDocument*>(ptr)->referrer;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLDocument::static_set_referrer(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 2>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLDocument::static_get_domain(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const html2::DOMString value = dynamic_cast<js_html2_HTMLDocument*>(ptr)->domain;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLDocument::static_set_domain(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 3>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLDocument::static_get_URL(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const html2::DOMString value = dynamic_cast<js_html2_HTMLDocument*>(ptr)->URL;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLDocument::static_set_URL(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 4>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLDocument::static_get_body(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLDocument*>(ptr)->body;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLDocument::static_set_body(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 5>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLDocument*>(ptr)->body = v8_wrapper::Get< v8::Handle<v8::Value> >(value);
}

Handle<Value> js_html2_HTMLDocument::static_get_images(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLDocument*>(ptr)->images;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLDocument::static_set_images(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 6>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLDocument::static_get_applets(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 7>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 7>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLDocument*>(ptr)->applets;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLDocument::static_set_applets(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 7>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 7>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLDocument::static_get_links(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 8>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 8>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLDocument*>(ptr)->links;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLDocument::static_set_links(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 8>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 8>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLDocument::static_get_forms(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 9>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 9>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLDocument*>(ptr)->forms;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLDocument::static_set_forms(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 9>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 9>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLDocument::static_get_anchors(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 10>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 10>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLDocument*>(ptr)->anchors;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLDocument::static_set_anchors(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 10>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 10>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLDocument::static_get_cookie(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 11>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 11>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLDocument*>(ptr)->cookie;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLDocument::static_set_cookie(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 11>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 11>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLDocument*>(ptr)->cookie = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLDocument::static_get_innerHTML(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 12>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 12>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLDocument*>(ptr)->innerHTML;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLDocument::static_set_innerHTML(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 12>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLDocument, 12>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLDocument*>(ptr)->innerHTML = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLDocument >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLDocument"));
    result->Inherit(v8_wrapper::Registrator< js_dom_Document >::GetTemplate());
    proto->Set(v8::String::New("open"), v8::FunctionTemplate::New(js_html2_HTMLDocument::static_open));
    proto->Set(v8::String::New("close"), v8::FunctionTemplate::New(js_html2_HTMLDocument::static_close));
    proto->Set(v8::String::New("write"), v8::FunctionTemplate::New(js_html2_HTMLDocument::static_write));
    proto->Set(v8::String::New("writeln"), v8::FunctionTemplate::New(js_html2_HTMLDocument::static_writeln));
    proto->Set(v8::String::New("getElementsByName"), v8::FunctionTemplate::New(js_html2_HTMLDocument::static_getElementsByName));
    instance->SetAccessor(v8::String::New("title"), js_html2_HTMLDocument::static_get_title, js_html2_HTMLDocument::static_set_title);
    instance->SetAccessor(v8::String::New("referrer"), js_html2_HTMLDocument::static_get_referrer, js_html2_HTMLDocument::static_set_referrer);
    instance->SetAccessor(v8::String::New("domain"), js_html2_HTMLDocument::static_get_domain, js_html2_HTMLDocument::static_set_domain);
    instance->SetAccessor(v8::String::New("URL"), js_html2_HTMLDocument::static_get_URL, js_html2_HTMLDocument::static_set_URL);
    instance->SetAccessor(v8::String::New("body"), js_html2_HTMLDocument::static_get_body, js_html2_HTMLDocument::static_set_body);
    instance->SetAccessor(v8::String::New("images"), js_html2_HTMLDocument::static_get_images, js_html2_HTMLDocument::static_set_images);
    instance->SetAccessor(v8::String::New("applets"), js_html2_HTMLDocument::static_get_applets, js_html2_HTMLDocument::static_set_applets);
    instance->SetAccessor(v8::String::New("links"), js_html2_HTMLDocument::static_get_links, js_html2_HTMLDocument::static_set_links);
    instance->SetAccessor(v8::String::New("forms"), js_html2_HTMLDocument::static_get_forms, js_html2_HTMLDocument::static_set_forms);
    instance->SetAccessor(v8::String::New("anchors"), js_html2_HTMLDocument::static_get_anchors, js_html2_HTMLDocument::static_set_anchors);
    instance->SetAccessor(v8::String::New("cookie"), js_html2_HTMLDocument::static_get_cookie, js_html2_HTMLDocument::static_set_cookie);
    instance->SetAccessor(v8::String::New("innerHTML"), js_html2_HTMLDocument::static_get_innerHTML, js_html2_HTMLDocument::static_set_innerHTML);

    v8_wrapper::Registrator< js_html2_HTMLDocument >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLElement::static_get_id(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLElement*>(ptr)->id;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLElement::static_set_id(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLElement*>(ptr)->id = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLElement::static_get_title(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLElement*>(ptr)->title;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLElement::static_set_title(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLElement*>(ptr)->title = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLElement::static_get_lang(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLElement*>(ptr)->lang;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLElement::static_set_lang(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLElement*>(ptr)->lang = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLElement::static_get_dir(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLElement, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLElement, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLElement*>(ptr)->dir;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLElement::static_set_dir(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLElement, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLElement, 4>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLElement*>(ptr)->dir = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLElement::static_get_className(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLElement, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLElement, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLElement*>(ptr)->className;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLElement::static_set_className(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLElement, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLElement, 5>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLElement*>(ptr)->className = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLElement::static_get_style(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLElement, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLElement, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLElement*>(ptr)->style;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLElement::static_set_style(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLElement, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLElement, 6>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLElement*>(ptr)->style = v8_wrapper::Get< v8::Handle<v8::Value> >(value);
}

Handle<Value> js_html2_HTMLElement::static_get_innerHTML(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLElement, 7>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLElement, 7>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLElement*>(ptr)->innerHTML;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLElement::static_set_innerHTML(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLElement, 7>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLElement, 7>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLElement*>(ptr)->innerHTML = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLElement"));
    result->Inherit(v8_wrapper::Registrator< js_dom_Element >::GetTemplate());
    instance->SetAccessor(v8::String::New("id"), js_html2_HTMLElement::static_get_id, js_html2_HTMLElement::static_set_id);
    instance->SetAccessor(v8::String::New("title"), js_html2_HTMLElement::static_get_title, js_html2_HTMLElement::static_set_title);
    instance->SetAccessor(v8::String::New("lang"), js_html2_HTMLElement::static_get_lang, js_html2_HTMLElement::static_set_lang);
    instance->SetAccessor(v8::String::New("dir"), js_html2_HTMLElement::static_get_dir, js_html2_HTMLElement::static_set_dir);
    instance->SetAccessor(v8::String::New("className"), js_html2_HTMLElement::static_get_className, js_html2_HTMLElement::static_set_className);
    instance->SetAccessor(v8::String::New("style"), js_html2_HTMLElement::static_get_style, js_html2_HTMLElement::static_set_style);
    instance->SetAccessor(v8::String::New("innerHTML"), js_html2_HTMLElement::static_get_innerHTML, js_html2_HTMLElement::static_set_innerHTML);

    v8_wrapper::Registrator< js_html2_HTMLElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLHtmlElement::static_get_version(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLHtmlElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLHtmlElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLHtmlElement*>(ptr)->version;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLHtmlElement::static_set_version(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLHtmlElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLHtmlElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLHtmlElement*>(ptr)->version = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLHtmlElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLHtmlElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("version"), js_html2_HTMLHtmlElement::static_get_version, js_html2_HTMLHtmlElement::static_set_version);

    v8_wrapper::Registrator< js_html2_HTMLHtmlElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLHeadElement::static_get_profile(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLHeadElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLHeadElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLHeadElement*>(ptr)->profile;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLHeadElement::static_set_profile(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLHeadElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLHeadElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLHeadElement*>(ptr)->profile = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLHeadElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLHeadElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("profile"), js_html2_HTMLHeadElement::static_get_profile, js_html2_HTMLHeadElement::static_set_profile);

    v8_wrapper::Registrator< js_html2_HTMLHeadElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLLinkElement::static_get_disabled(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_html2_HTMLLinkElement*>(ptr)->disabled;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLLinkElement::static_set_disabled(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLLinkElement*>(ptr)->disabled = v8_wrapper::Get< bool >(value);
}

Handle<Value> js_html2_HTMLLinkElement::static_get_charset(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLLinkElement*>(ptr)->charset;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLLinkElement::static_set_charset(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLLinkElement*>(ptr)->charset = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLLinkElement::static_get_href(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLLinkElement*>(ptr)->href;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLLinkElement::static_set_href(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLLinkElement*>(ptr)->href = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLLinkElement::static_get_hreflang(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLLinkElement*>(ptr)->hreflang;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLLinkElement::static_set_hreflang(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 4>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLLinkElement*>(ptr)->hreflang = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLLinkElement::static_get_media(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLLinkElement*>(ptr)->media;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLLinkElement::static_set_media(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 5>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLLinkElement*>(ptr)->media = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLLinkElement::static_get_rel(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLLinkElement*>(ptr)->rel;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLLinkElement::static_set_rel(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 6>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLLinkElement*>(ptr)->rel = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLLinkElement::static_get_rev(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 7>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 7>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLLinkElement*>(ptr)->rev;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLLinkElement::static_set_rev(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 7>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 7>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLLinkElement*>(ptr)->rev = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLLinkElement::static_get_target(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 8>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 8>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLLinkElement*>(ptr)->target;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLLinkElement::static_set_target(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 8>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 8>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLLinkElement*>(ptr)->target = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLLinkElement::static_get_type(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 9>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 9>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLLinkElement*>(ptr)->type;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLLinkElement::static_set_type(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 9>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLLinkElement, 9>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLLinkElement*>(ptr)->type = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLLinkElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLLinkElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("disabled"), js_html2_HTMLLinkElement::static_get_disabled, js_html2_HTMLLinkElement::static_set_disabled);
    instance->SetAccessor(v8::String::New("charset"), js_html2_HTMLLinkElement::static_get_charset, js_html2_HTMLLinkElement::static_set_charset);
    instance->SetAccessor(v8::String::New("href"), js_html2_HTMLLinkElement::static_get_href, js_html2_HTMLLinkElement::static_set_href);
    instance->SetAccessor(v8::String::New("hreflang"), js_html2_HTMLLinkElement::static_get_hreflang, js_html2_HTMLLinkElement::static_set_hreflang);
    instance->SetAccessor(v8::String::New("media"), js_html2_HTMLLinkElement::static_get_media, js_html2_HTMLLinkElement::static_set_media);
    instance->SetAccessor(v8::String::New("rel"), js_html2_HTMLLinkElement::static_get_rel, js_html2_HTMLLinkElement::static_set_rel);
    instance->SetAccessor(v8::String::New("rev"), js_html2_HTMLLinkElement::static_get_rev, js_html2_HTMLLinkElement::static_set_rev);
    instance->SetAccessor(v8::String::New("target"), js_html2_HTMLLinkElement::static_get_target, js_html2_HTMLLinkElement::static_set_target);
    instance->SetAccessor(v8::String::New("type"), js_html2_HTMLLinkElement::static_get_type, js_html2_HTMLLinkElement::static_set_type);

    v8_wrapper::Registrator< js_html2_HTMLLinkElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLTitleElement::static_get_text(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTitleElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTitleElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTitleElement*>(ptr)->text;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTitleElement::static_set_text(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTitleElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTitleElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTitleElement*>(ptr)->text = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLTitleElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLTitleElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("text"), js_html2_HTMLTitleElement::static_get_text, js_html2_HTMLTitleElement::static_set_text);

    v8_wrapper::Registrator< js_html2_HTMLTitleElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLMetaElement::static_get_content(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLMetaElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLMetaElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLMetaElement*>(ptr)->content;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLMetaElement::static_set_content(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLMetaElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLMetaElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLMetaElement*>(ptr)->content = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLMetaElement::static_get_httpEquiv(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLMetaElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLMetaElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLMetaElement*>(ptr)->httpEquiv;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLMetaElement::static_set_httpEquiv(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLMetaElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLMetaElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLMetaElement*>(ptr)->httpEquiv = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLMetaElement::static_get_name(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLMetaElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLMetaElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLMetaElement*>(ptr)->name;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLMetaElement::static_set_name(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLMetaElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLMetaElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLMetaElement*>(ptr)->name = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLMetaElement::static_get_scheme(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLMetaElement, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLMetaElement, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLMetaElement*>(ptr)->scheme;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLMetaElement::static_set_scheme(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLMetaElement, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLMetaElement, 4>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLMetaElement*>(ptr)->scheme = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLMetaElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLMetaElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("content"), js_html2_HTMLMetaElement::static_get_content, js_html2_HTMLMetaElement::static_set_content);
    instance->SetAccessor(v8::String::New("httpEquiv"), js_html2_HTMLMetaElement::static_get_httpEquiv, js_html2_HTMLMetaElement::static_set_httpEquiv);
    instance->SetAccessor(v8::String::New("name"), js_html2_HTMLMetaElement::static_get_name, js_html2_HTMLMetaElement::static_set_name);
    instance->SetAccessor(v8::String::New("scheme"), js_html2_HTMLMetaElement::static_get_scheme, js_html2_HTMLMetaElement::static_set_scheme);

    v8_wrapper::Registrator< js_html2_HTMLMetaElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLBaseElement::static_get_href(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLBaseElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLBaseElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLBaseElement*>(ptr)->href;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLBaseElement::static_set_href(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLBaseElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLBaseElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLBaseElement*>(ptr)->href = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLBaseElement::static_get_target(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLBaseElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLBaseElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLBaseElement*>(ptr)->target;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLBaseElement::static_set_target(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLBaseElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLBaseElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLBaseElement*>(ptr)->target = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLBaseElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLBaseElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("href"), js_html2_HTMLBaseElement::static_get_href, js_html2_HTMLBaseElement::static_set_href);
    instance->SetAccessor(v8::String::New("target"), js_html2_HTMLBaseElement::static_get_target, js_html2_HTMLBaseElement::static_set_target);

    v8_wrapper::Registrator< js_html2_HTMLBaseElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLIsIndexElement::static_get_form(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLIsIndexElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLIsIndexElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLIsIndexElement*>(ptr)->form;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLIsIndexElement::static_set_form(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLIsIndexElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLIsIndexElement, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLIsIndexElement::static_get_prompt(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLIsIndexElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLIsIndexElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLIsIndexElement*>(ptr)->prompt;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLIsIndexElement::static_set_prompt(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLIsIndexElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLIsIndexElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLIsIndexElement*>(ptr)->prompt = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLIsIndexElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLIsIndexElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("form"), js_html2_HTMLIsIndexElement::static_get_form, js_html2_HTMLIsIndexElement::static_set_form);
    instance->SetAccessor(v8::String::New("prompt"), js_html2_HTMLIsIndexElement::static_get_prompt, js_html2_HTMLIsIndexElement::static_set_prompt);

    v8_wrapper::Registrator< js_html2_HTMLIsIndexElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLStyleElement::static_get_disabled(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLStyleElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLStyleElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_html2_HTMLStyleElement*>(ptr)->disabled;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLStyleElement::static_set_disabled(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLStyleElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLStyleElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLStyleElement*>(ptr)->disabled = v8_wrapper::Get< bool >(value);
}

Handle<Value> js_html2_HTMLStyleElement::static_get_media(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLStyleElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLStyleElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLStyleElement*>(ptr)->media;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLStyleElement::static_set_media(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLStyleElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLStyleElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLStyleElement*>(ptr)->media = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLStyleElement::static_get_type(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLStyleElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLStyleElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLStyleElement*>(ptr)->type;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLStyleElement::static_set_type(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLStyleElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLStyleElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLStyleElement*>(ptr)->type = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLStyleElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLStyleElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("disabled"), js_html2_HTMLStyleElement::static_get_disabled, js_html2_HTMLStyleElement::static_set_disabled);
    instance->SetAccessor(v8::String::New("media"), js_html2_HTMLStyleElement::static_get_media, js_html2_HTMLStyleElement::static_set_media);
    instance->SetAccessor(v8::String::New("type"), js_html2_HTMLStyleElement::static_get_type, js_html2_HTMLStyleElement::static_set_type);

    v8_wrapper::Registrator< js_html2_HTMLStyleElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLBodyElement::static_get_aLink(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLBodyElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLBodyElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLBodyElement*>(ptr)->aLink;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLBodyElement::static_set_aLink(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLBodyElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLBodyElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLBodyElement*>(ptr)->aLink = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLBodyElement::static_get_background(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLBodyElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLBodyElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLBodyElement*>(ptr)->background;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLBodyElement::static_set_background(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLBodyElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLBodyElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLBodyElement*>(ptr)->background = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLBodyElement::static_get_bgColor(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLBodyElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLBodyElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLBodyElement*>(ptr)->bgColor;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLBodyElement::static_set_bgColor(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLBodyElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLBodyElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLBodyElement*>(ptr)->bgColor = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLBodyElement::static_get_link(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLBodyElement, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLBodyElement, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLBodyElement*>(ptr)->link;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLBodyElement::static_set_link(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLBodyElement, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLBodyElement, 4>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLBodyElement*>(ptr)->link = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLBodyElement::static_get_text(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLBodyElement, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLBodyElement, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLBodyElement*>(ptr)->text;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLBodyElement::static_set_text(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLBodyElement, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLBodyElement, 5>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLBodyElement*>(ptr)->text = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLBodyElement::static_get_vLink(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLBodyElement, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLBodyElement, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLBodyElement*>(ptr)->vLink;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLBodyElement::static_set_vLink(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLBodyElement, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLBodyElement, 6>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLBodyElement*>(ptr)->vLink = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLBodyElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLBodyElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("aLink"), js_html2_HTMLBodyElement::static_get_aLink, js_html2_HTMLBodyElement::static_set_aLink);
    instance->SetAccessor(v8::String::New("background"), js_html2_HTMLBodyElement::static_get_background, js_html2_HTMLBodyElement::static_set_background);
    instance->SetAccessor(v8::String::New("bgColor"), js_html2_HTMLBodyElement::static_get_bgColor, js_html2_HTMLBodyElement::static_set_bgColor);
    instance->SetAccessor(v8::String::New("link"), js_html2_HTMLBodyElement::static_get_link, js_html2_HTMLBodyElement::static_set_link);
    instance->SetAccessor(v8::String::New("text"), js_html2_HTMLBodyElement::static_get_text, js_html2_HTMLBodyElement::static_set_text);
    instance->SetAccessor(v8::String::New("vLink"), js_html2_HTMLBodyElement::static_get_vLink, js_html2_HTMLBodyElement::static_set_vLink);

    v8_wrapper::Registrator< js_html2_HTMLBodyElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_html2_HTMLFormElement::static_submit(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_html2_HTMLFormElement * el = dynamic_cast<js_html2_HTMLFormElement *>(ptr);
    el->submit();
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_html2_HTMLFormElement::static_reset(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_html2_HTMLFormElement * el = dynamic_cast<js_html2_HTMLFormElement *>(ptr);
    el->reset();
    return scope.Close(retval);
}


Handle<Value> js_html2_HTMLFormElement::static_get_elements(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLFormElement*>(ptr)->elements;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLFormElement::static_set_elements(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLFormElement::static_get_length(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const long int value = dynamic_cast<js_html2_HTMLFormElement*>(ptr)->length;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLFormElement::static_set_length(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 2>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLFormElement::static_get_name(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLFormElement*>(ptr)->name;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLFormElement::static_set_name(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLFormElement*>(ptr)->name = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLFormElement::static_get_acceptCharset(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLFormElement*>(ptr)->acceptCharset;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLFormElement::static_set_acceptCharset(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 4>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLFormElement*>(ptr)->acceptCharset = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLFormElement::static_get_action(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLFormElement*>(ptr)->action;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLFormElement::static_set_action(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 5>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLFormElement*>(ptr)->action = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLFormElement::static_get_enctype(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLFormElement*>(ptr)->enctype;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLFormElement::static_set_enctype(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 6>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLFormElement*>(ptr)->enctype = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLFormElement::static_get_method(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 7>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 7>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLFormElement*>(ptr)->method;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLFormElement::static_set_method(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 7>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 7>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLFormElement*>(ptr)->method = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLFormElement::static_get_target(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 8>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 8>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLFormElement*>(ptr)->target;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLFormElement::static_set_target(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 8>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLFormElement, 8>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLFormElement*>(ptr)->target = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLFormElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLFormElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    proto->Set(v8::String::New("submit"), v8::FunctionTemplate::New(js_html2_HTMLFormElement::static_submit));
    proto->Set(v8::String::New("reset"), v8::FunctionTemplate::New(js_html2_HTMLFormElement::static_reset));
    instance->SetAccessor(v8::String::New("elements"), js_html2_HTMLFormElement::static_get_elements, js_html2_HTMLFormElement::static_set_elements);
    instance->SetAccessor(v8::String::New("length"), js_html2_HTMLFormElement::static_get_length, js_html2_HTMLFormElement::static_set_length);
    instance->SetAccessor(v8::String::New("name"), js_html2_HTMLFormElement::static_get_name, js_html2_HTMLFormElement::static_set_name);
    instance->SetAccessor(v8::String::New("acceptCharset"), js_html2_HTMLFormElement::static_get_acceptCharset, js_html2_HTMLFormElement::static_set_acceptCharset);
    instance->SetAccessor(v8::String::New("action"), js_html2_HTMLFormElement::static_get_action, js_html2_HTMLFormElement::static_set_action);
    instance->SetAccessor(v8::String::New("enctype"), js_html2_HTMLFormElement::static_get_enctype, js_html2_HTMLFormElement::static_set_enctype);
    instance->SetAccessor(v8::String::New("method"), js_html2_HTMLFormElement::static_get_method, js_html2_HTMLFormElement::static_set_method);
    instance->SetAccessor(v8::String::New("target"), js_html2_HTMLFormElement::static_get_target, js_html2_HTMLFormElement::static_set_target);

    v8_wrapper::Registrator< js_html2_HTMLFormElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_html2_HTMLSelectElement::static_add(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_element = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    v8::Handle<v8::Value> val_before = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[1] );
    js_html2_HTMLSelectElement * el = dynamic_cast<js_html2_HTMLSelectElement *>(ptr);
    el->add(val_element, val_before);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_html2_HTMLSelectElement::static_remove(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    long int val_index = v8_wrapper::Get< long int > ( args[0] );
    js_html2_HTMLSelectElement * el = dynamic_cast<js_html2_HTMLSelectElement *>(ptr);
    el->remove(val_index);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_html2_HTMLSelectElement::static_blur(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_html2_HTMLSelectElement * el = dynamic_cast<js_html2_HTMLSelectElement *>(ptr);
    el->blur();
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_html2_HTMLSelectElement::static_focus(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_html2_HTMLSelectElement * el = dynamic_cast<js_html2_HTMLSelectElement *>(ptr);
    el->focus();
    return scope.Close(retval);
}


Handle<Value> js_html2_HTMLSelectElement::static_get_type(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const html2::DOMString value = dynamic_cast<js_html2_HTMLSelectElement*>(ptr)->type;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLSelectElement::static_set_type(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLSelectElement::static_get_selectedIndex(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long int value = dynamic_cast<js_html2_HTMLSelectElement*>(ptr)->selectedIndex;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLSelectElement::static_set_selectedIndex(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLSelectElement*>(ptr)->selectedIndex = v8_wrapper::Get< long int >(value);
}

Handle<Value> js_html2_HTMLSelectElement::static_get_value(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLSelectElement*>(ptr)->value;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLSelectElement::static_set_value(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLSelectElement*>(ptr)->value = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLSelectElement::static_get_length(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long unsigned int value = dynamic_cast<js_html2_HTMLSelectElement*>(ptr)->length;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLSelectElement::static_set_length(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 4>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLSelectElement*>(ptr)->length = v8_wrapper::Get< long unsigned int >(value);
}

Handle<Value> js_html2_HTMLSelectElement::static_get_form(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLSelectElement*>(ptr)->form;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLSelectElement::static_set_form(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 5>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLSelectElement::static_get_options(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLSelectElement*>(ptr)->options;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLSelectElement::static_set_options(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 6>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLSelectElement::static_get_disabled(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 7>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 7>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_html2_HTMLSelectElement*>(ptr)->disabled;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLSelectElement::static_set_disabled(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 7>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 7>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLSelectElement*>(ptr)->disabled = v8_wrapper::Get< bool >(value);
}

Handle<Value> js_html2_HTMLSelectElement::static_get_multiple(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 8>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 8>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_html2_HTMLSelectElement*>(ptr)->multiple;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLSelectElement::static_set_multiple(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 8>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 8>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLSelectElement*>(ptr)->multiple = v8_wrapper::Get< bool >(value);
}

Handle<Value> js_html2_HTMLSelectElement::static_get_name(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 9>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 9>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLSelectElement*>(ptr)->name;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLSelectElement::static_set_name(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 9>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 9>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLSelectElement*>(ptr)->name = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLSelectElement::static_get_size(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 10>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 10>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long int value = dynamic_cast<js_html2_HTMLSelectElement*>(ptr)->size;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLSelectElement::static_set_size(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 10>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 10>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLSelectElement*>(ptr)->size = v8_wrapper::Get< long int >(value);
}

Handle<Value> js_html2_HTMLSelectElement::static_get_tabIndex(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 11>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 11>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long int value = dynamic_cast<js_html2_HTMLSelectElement*>(ptr)->tabIndex;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLSelectElement::static_set_tabIndex(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 11>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLSelectElement, 11>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLSelectElement*>(ptr)->tabIndex = v8_wrapper::Get< long int >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLSelectElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLSelectElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    proto->Set(v8::String::New("add"), v8::FunctionTemplate::New(js_html2_HTMLSelectElement::static_add));
    proto->Set(v8::String::New("remove"), v8::FunctionTemplate::New(js_html2_HTMLSelectElement::static_remove));
    proto->Set(v8::String::New("blur"), v8::FunctionTemplate::New(js_html2_HTMLSelectElement::static_blur));
    proto->Set(v8::String::New("focus"), v8::FunctionTemplate::New(js_html2_HTMLSelectElement::static_focus));
    instance->SetAccessor(v8::String::New("type"), js_html2_HTMLSelectElement::static_get_type, js_html2_HTMLSelectElement::static_set_type);
    instance->SetAccessor(v8::String::New("selectedIndex"), js_html2_HTMLSelectElement::static_get_selectedIndex, js_html2_HTMLSelectElement::static_set_selectedIndex);
    instance->SetAccessor(v8::String::New("value"), js_html2_HTMLSelectElement::static_get_value, js_html2_HTMLSelectElement::static_set_value);
    instance->SetAccessor(v8::String::New("length"), js_html2_HTMLSelectElement::static_get_length, js_html2_HTMLSelectElement::static_set_length);
    instance->SetAccessor(v8::String::New("form"), js_html2_HTMLSelectElement::static_get_form, js_html2_HTMLSelectElement::static_set_form);
    instance->SetAccessor(v8::String::New("options"), js_html2_HTMLSelectElement::static_get_options, js_html2_HTMLSelectElement::static_set_options);
    instance->SetAccessor(v8::String::New("disabled"), js_html2_HTMLSelectElement::static_get_disabled, js_html2_HTMLSelectElement::static_set_disabled);
    instance->SetAccessor(v8::String::New("multiple"), js_html2_HTMLSelectElement::static_get_multiple, js_html2_HTMLSelectElement::static_set_multiple);
    instance->SetAccessor(v8::String::New("name"), js_html2_HTMLSelectElement::static_get_name, js_html2_HTMLSelectElement::static_set_name);
    instance->SetAccessor(v8::String::New("size"), js_html2_HTMLSelectElement::static_get_size, js_html2_HTMLSelectElement::static_set_size);
    instance->SetAccessor(v8::String::New("tabIndex"), js_html2_HTMLSelectElement::static_get_tabIndex, js_html2_HTMLSelectElement::static_set_tabIndex);

    v8_wrapper::Registrator< js_html2_HTMLSelectElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLOptGroupElement::static_get_disabled(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOptGroupElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLOptGroupElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_html2_HTMLOptGroupElement*>(ptr)->disabled;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLOptGroupElement::static_set_disabled(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOptGroupElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLOptGroupElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLOptGroupElement*>(ptr)->disabled = v8_wrapper::Get< bool >(value);
}

Handle<Value> js_html2_HTMLOptGroupElement::static_get_label(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOptGroupElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLOptGroupElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLOptGroupElement*>(ptr)->label;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLOptGroupElement::static_set_label(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOptGroupElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLOptGroupElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLOptGroupElement*>(ptr)->label = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLOptGroupElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLOptGroupElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("disabled"), js_html2_HTMLOptGroupElement::static_get_disabled, js_html2_HTMLOptGroupElement::static_set_disabled);
    instance->SetAccessor(v8::String::New("label"), js_html2_HTMLOptGroupElement::static_get_label, js_html2_HTMLOptGroupElement::static_set_label);

    v8_wrapper::Registrator< js_html2_HTMLOptGroupElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLOptionElement::static_get_form(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLOptionElement*>(ptr)->form;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLOptionElement::static_set_form(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLOptionElement::static_get_defaultSelected(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_html2_HTMLOptionElement*>(ptr)->defaultSelected;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLOptionElement::static_set_defaultSelected(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLOptionElement*>(ptr)->defaultSelected = v8_wrapper::Get< bool >(value);
}

Handle<Value> js_html2_HTMLOptionElement::static_get_text(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const html2::DOMString value = dynamic_cast<js_html2_HTMLOptionElement*>(ptr)->text;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLOptionElement::static_set_text(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 3>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLOptionElement::static_get_index(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const long int value = dynamic_cast<js_html2_HTMLOptionElement*>(ptr)->index;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLOptionElement::static_set_index(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 4>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLOptionElement::static_get_disabled(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_html2_HTMLOptionElement*>(ptr)->disabled;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLOptionElement::static_set_disabled(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 5>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLOptionElement*>(ptr)->disabled = v8_wrapper::Get< bool >(value);
}

Handle<Value> js_html2_HTMLOptionElement::static_get_label(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLOptionElement*>(ptr)->label;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLOptionElement::static_set_label(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 6>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLOptionElement*>(ptr)->label = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLOptionElement::static_get_selected(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 7>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 7>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_html2_HTMLOptionElement*>(ptr)->selected;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLOptionElement::static_set_selected(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 7>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 7>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLOptionElement*>(ptr)->selected = v8_wrapper::Get< bool >(value);
}

Handle<Value> js_html2_HTMLOptionElement::static_get_value(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 8>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 8>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLOptionElement*>(ptr)->value;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLOptionElement::static_set_value(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 8>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLOptionElement, 8>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLOptionElement*>(ptr)->value = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLOptionElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLOptionElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("form"), js_html2_HTMLOptionElement::static_get_form, js_html2_HTMLOptionElement::static_set_form);
    instance->SetAccessor(v8::String::New("defaultSelected"), js_html2_HTMLOptionElement::static_get_defaultSelected, js_html2_HTMLOptionElement::static_set_defaultSelected);
    instance->SetAccessor(v8::String::New("text"), js_html2_HTMLOptionElement::static_get_text, js_html2_HTMLOptionElement::static_set_text);
    instance->SetAccessor(v8::String::New("index"), js_html2_HTMLOptionElement::static_get_index, js_html2_HTMLOptionElement::static_set_index);
    instance->SetAccessor(v8::String::New("disabled"), js_html2_HTMLOptionElement::static_get_disabled, js_html2_HTMLOptionElement::static_set_disabled);
    instance->SetAccessor(v8::String::New("label"), js_html2_HTMLOptionElement::static_get_label, js_html2_HTMLOptionElement::static_set_label);
    instance->SetAccessor(v8::String::New("selected"), js_html2_HTMLOptionElement::static_get_selected, js_html2_HTMLOptionElement::static_set_selected);
    instance->SetAccessor(v8::String::New("value"), js_html2_HTMLOptionElement::static_get_value, js_html2_HTMLOptionElement::static_set_value);

    v8_wrapper::Registrator< js_html2_HTMLOptionElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_html2_HTMLInputElement::static_blur(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_html2_HTMLInputElement * el = dynamic_cast<js_html2_HTMLInputElement *>(ptr);
    el->blur();
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_html2_HTMLInputElement::static_focus(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_html2_HTMLInputElement * el = dynamic_cast<js_html2_HTMLInputElement *>(ptr);
    el->focus();
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_html2_HTMLInputElement::static_select(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_html2_HTMLInputElement * el = dynamic_cast<js_html2_HTMLInputElement *>(ptr);
    el->select();
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_html2_HTMLInputElement::static_click(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_html2_HTMLInputElement * el = dynamic_cast<js_html2_HTMLInputElement *>(ptr);
    el->click();
    return scope.Close(retval);
}


Handle<Value> js_html2_HTMLInputElement::static_get_defaultValue(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLInputElement*>(ptr)->defaultValue;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLInputElement::static_set_defaultValue(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLInputElement*>(ptr)->defaultValue = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLInputElement::static_get_defaultChecked(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_html2_HTMLInputElement*>(ptr)->defaultChecked;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLInputElement::static_set_defaultChecked(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLInputElement*>(ptr)->defaultChecked = v8_wrapper::Get< bool >(value);
}

Handle<Value> js_html2_HTMLInputElement::static_get_form(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLInputElement*>(ptr)->form;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLInputElement::static_set_form(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 3>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLInputElement::static_get_accept(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLInputElement*>(ptr)->accept;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLInputElement::static_set_accept(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 4>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLInputElement*>(ptr)->accept = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLInputElement::static_get_accessKey(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLInputElement*>(ptr)->accessKey;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLInputElement::static_set_accessKey(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 5>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLInputElement*>(ptr)->accessKey = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLInputElement::static_get_align(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLInputElement*>(ptr)->align;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLInputElement::static_set_align(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 6>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLInputElement*>(ptr)->align = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLInputElement::static_get_alt(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 7>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 7>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLInputElement*>(ptr)->alt;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLInputElement::static_set_alt(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 7>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 7>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLInputElement*>(ptr)->alt = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLInputElement::static_get_checked(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 8>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 8>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_html2_HTMLInputElement*>(ptr)->checked;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLInputElement::static_set_checked(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 8>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 8>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLInputElement*>(ptr)->checked = v8_wrapper::Get< bool >(value);
}

Handle<Value> js_html2_HTMLInputElement::static_get_disabled(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 9>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 9>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_html2_HTMLInputElement*>(ptr)->disabled;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLInputElement::static_set_disabled(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 9>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 9>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLInputElement*>(ptr)->disabled = v8_wrapper::Get< bool >(value);
}

Handle<Value> js_html2_HTMLInputElement::static_get_maxLength(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 10>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 10>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long int value = dynamic_cast<js_html2_HTMLInputElement*>(ptr)->maxLength;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLInputElement::static_set_maxLength(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 10>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 10>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLInputElement*>(ptr)->maxLength = v8_wrapper::Get< long int >(value);
}

Handle<Value> js_html2_HTMLInputElement::static_get_name(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 11>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 11>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLInputElement*>(ptr)->name;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLInputElement::static_set_name(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 11>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 11>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLInputElement*>(ptr)->name = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLInputElement::static_get_readOnly(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 12>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 12>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_html2_HTMLInputElement*>(ptr)->readOnly;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLInputElement::static_set_readOnly(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 12>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 12>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLInputElement*>(ptr)->readOnly = v8_wrapper::Get< bool >(value);
}

Handle<Value> js_html2_HTMLInputElement::static_get_size(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 13>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 13>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long unsigned int value = dynamic_cast<js_html2_HTMLInputElement*>(ptr)->size;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLInputElement::static_set_size(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 13>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 13>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLInputElement*>(ptr)->size = v8_wrapper::Get< long unsigned int >(value);
}

Handle<Value> js_html2_HTMLInputElement::static_get_src(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 14>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 14>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLInputElement*>(ptr)->src;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLInputElement::static_set_src(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 14>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 14>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLInputElement*>(ptr)->src = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLInputElement::static_get_tabIndex(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 15>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 15>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long int value = dynamic_cast<js_html2_HTMLInputElement*>(ptr)->tabIndex;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLInputElement::static_set_tabIndex(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 15>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 15>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLInputElement*>(ptr)->tabIndex = v8_wrapper::Get< long int >(value);
}

Handle<Value> js_html2_HTMLInputElement::static_get_type(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 16>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 16>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLInputElement*>(ptr)->type;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLInputElement::static_set_type(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 16>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 16>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLInputElement*>(ptr)->type = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLInputElement::static_get_useMap(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 17>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 17>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLInputElement*>(ptr)->useMap;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLInputElement::static_set_useMap(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 17>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 17>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLInputElement*>(ptr)->useMap = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLInputElement::static_get_value(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 18>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 18>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLInputElement*>(ptr)->value;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLInputElement::static_set_value(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 18>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLInputElement, 18>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLInputElement*>(ptr)->value = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLInputElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLInputElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    proto->Set(v8::String::New("blur"), v8::FunctionTemplate::New(js_html2_HTMLInputElement::static_blur));
    proto->Set(v8::String::New("focus"), v8::FunctionTemplate::New(js_html2_HTMLInputElement::static_focus));
    proto->Set(v8::String::New("select"), v8::FunctionTemplate::New(js_html2_HTMLInputElement::static_select));
    proto->Set(v8::String::New("click"), v8::FunctionTemplate::New(js_html2_HTMLInputElement::static_click));
    instance->SetAccessor(v8::String::New("defaultValue"), js_html2_HTMLInputElement::static_get_defaultValue, js_html2_HTMLInputElement::static_set_defaultValue);
    instance->SetAccessor(v8::String::New("defaultChecked"), js_html2_HTMLInputElement::static_get_defaultChecked, js_html2_HTMLInputElement::static_set_defaultChecked);
    instance->SetAccessor(v8::String::New("form"), js_html2_HTMLInputElement::static_get_form, js_html2_HTMLInputElement::static_set_form);
    instance->SetAccessor(v8::String::New("accept"), js_html2_HTMLInputElement::static_get_accept, js_html2_HTMLInputElement::static_set_accept);
    instance->SetAccessor(v8::String::New("accessKey"), js_html2_HTMLInputElement::static_get_accessKey, js_html2_HTMLInputElement::static_set_accessKey);
    instance->SetAccessor(v8::String::New("align"), js_html2_HTMLInputElement::static_get_align, js_html2_HTMLInputElement::static_set_align);
    instance->SetAccessor(v8::String::New("alt"), js_html2_HTMLInputElement::static_get_alt, js_html2_HTMLInputElement::static_set_alt);
    instance->SetAccessor(v8::String::New("checked"), js_html2_HTMLInputElement::static_get_checked, js_html2_HTMLInputElement::static_set_checked);
    instance->SetAccessor(v8::String::New("disabled"), js_html2_HTMLInputElement::static_get_disabled, js_html2_HTMLInputElement::static_set_disabled);
    instance->SetAccessor(v8::String::New("maxLength"), js_html2_HTMLInputElement::static_get_maxLength, js_html2_HTMLInputElement::static_set_maxLength);
    instance->SetAccessor(v8::String::New("name"), js_html2_HTMLInputElement::static_get_name, js_html2_HTMLInputElement::static_set_name);
    instance->SetAccessor(v8::String::New("readOnly"), js_html2_HTMLInputElement::static_get_readOnly, js_html2_HTMLInputElement::static_set_readOnly);
    instance->SetAccessor(v8::String::New("size"), js_html2_HTMLInputElement::static_get_size, js_html2_HTMLInputElement::static_set_size);
    instance->SetAccessor(v8::String::New("src"), js_html2_HTMLInputElement::static_get_src, js_html2_HTMLInputElement::static_set_src);
    instance->SetAccessor(v8::String::New("tabIndex"), js_html2_HTMLInputElement::static_get_tabIndex, js_html2_HTMLInputElement::static_set_tabIndex);
    instance->SetAccessor(v8::String::New("type"), js_html2_HTMLInputElement::static_get_type, js_html2_HTMLInputElement::static_set_type);
    instance->SetAccessor(v8::String::New("useMap"), js_html2_HTMLInputElement::static_get_useMap, js_html2_HTMLInputElement::static_set_useMap);
    instance->SetAccessor(v8::String::New("value"), js_html2_HTMLInputElement::static_get_value, js_html2_HTMLInputElement::static_set_value);

    v8_wrapper::Registrator< js_html2_HTMLInputElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_html2_HTMLTextAreaElement::static_blur(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_html2_HTMLTextAreaElement * el = dynamic_cast<js_html2_HTMLTextAreaElement *>(ptr);
    el->blur();
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_html2_HTMLTextAreaElement::static_focus(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_html2_HTMLTextAreaElement * el = dynamic_cast<js_html2_HTMLTextAreaElement *>(ptr);
    el->focus();
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_html2_HTMLTextAreaElement::static_select(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_html2_HTMLTextAreaElement * el = dynamic_cast<js_html2_HTMLTextAreaElement *>(ptr);
    el->select();
    return scope.Close(retval);
}


Handle<Value> js_html2_HTMLTextAreaElement::static_get_defaultValue(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTextAreaElement*>(ptr)->defaultValue;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTextAreaElement::static_set_defaultValue(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTextAreaElement*>(ptr)->defaultValue = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTextAreaElement::static_get_form(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLTextAreaElement*>(ptr)->form;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTextAreaElement::static_set_form(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 2>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLTextAreaElement::static_get_accessKey(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTextAreaElement*>(ptr)->accessKey;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTextAreaElement::static_set_accessKey(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTextAreaElement*>(ptr)->accessKey = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTextAreaElement::static_get_cols(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long int value = dynamic_cast<js_html2_HTMLTextAreaElement*>(ptr)->cols;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTextAreaElement::static_set_cols(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 4>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTextAreaElement*>(ptr)->cols = v8_wrapper::Get< long int >(value);
}

Handle<Value> js_html2_HTMLTextAreaElement::static_get_disabled(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_html2_HTMLTextAreaElement*>(ptr)->disabled;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTextAreaElement::static_set_disabled(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 5>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTextAreaElement*>(ptr)->disabled = v8_wrapper::Get< bool >(value);
}

Handle<Value> js_html2_HTMLTextAreaElement::static_get_name(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTextAreaElement*>(ptr)->name;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTextAreaElement::static_set_name(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 6>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTextAreaElement*>(ptr)->name = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTextAreaElement::static_get_readOnly(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 7>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 7>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_html2_HTMLTextAreaElement*>(ptr)->readOnly;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTextAreaElement::static_set_readOnly(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 7>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 7>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTextAreaElement*>(ptr)->readOnly = v8_wrapper::Get< bool >(value);
}

Handle<Value> js_html2_HTMLTextAreaElement::static_get_rows(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 8>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 8>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long int value = dynamic_cast<js_html2_HTMLTextAreaElement*>(ptr)->rows;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTextAreaElement::static_set_rows(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 8>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 8>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTextAreaElement*>(ptr)->rows = v8_wrapper::Get< long int >(value);
}

Handle<Value> js_html2_HTMLTextAreaElement::static_get_tabIndex(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 9>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 9>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long int value = dynamic_cast<js_html2_HTMLTextAreaElement*>(ptr)->tabIndex;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTextAreaElement::static_set_tabIndex(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 9>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 9>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTextAreaElement*>(ptr)->tabIndex = v8_wrapper::Get< long int >(value);
}

Handle<Value> js_html2_HTMLTextAreaElement::static_get_type(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 10>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 10>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const html2::DOMString value = dynamic_cast<js_html2_HTMLTextAreaElement*>(ptr)->type;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTextAreaElement::static_set_type(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 10>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 10>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLTextAreaElement::static_get_value(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 11>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 11>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTextAreaElement*>(ptr)->value;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTextAreaElement::static_set_value(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 11>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTextAreaElement, 11>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTextAreaElement*>(ptr)->value = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLTextAreaElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLTextAreaElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    proto->Set(v8::String::New("blur"), v8::FunctionTemplate::New(js_html2_HTMLTextAreaElement::static_blur));
    proto->Set(v8::String::New("focus"), v8::FunctionTemplate::New(js_html2_HTMLTextAreaElement::static_focus));
    proto->Set(v8::String::New("select"), v8::FunctionTemplate::New(js_html2_HTMLTextAreaElement::static_select));
    instance->SetAccessor(v8::String::New("defaultValue"), js_html2_HTMLTextAreaElement::static_get_defaultValue, js_html2_HTMLTextAreaElement::static_set_defaultValue);
    instance->SetAccessor(v8::String::New("form"), js_html2_HTMLTextAreaElement::static_get_form, js_html2_HTMLTextAreaElement::static_set_form);
    instance->SetAccessor(v8::String::New("accessKey"), js_html2_HTMLTextAreaElement::static_get_accessKey, js_html2_HTMLTextAreaElement::static_set_accessKey);
    instance->SetAccessor(v8::String::New("cols"), js_html2_HTMLTextAreaElement::static_get_cols, js_html2_HTMLTextAreaElement::static_set_cols);
    instance->SetAccessor(v8::String::New("disabled"), js_html2_HTMLTextAreaElement::static_get_disabled, js_html2_HTMLTextAreaElement::static_set_disabled);
    instance->SetAccessor(v8::String::New("name"), js_html2_HTMLTextAreaElement::static_get_name, js_html2_HTMLTextAreaElement::static_set_name);
    instance->SetAccessor(v8::String::New("readOnly"), js_html2_HTMLTextAreaElement::static_get_readOnly, js_html2_HTMLTextAreaElement::static_set_readOnly);
    instance->SetAccessor(v8::String::New("rows"), js_html2_HTMLTextAreaElement::static_get_rows, js_html2_HTMLTextAreaElement::static_set_rows);
    instance->SetAccessor(v8::String::New("tabIndex"), js_html2_HTMLTextAreaElement::static_get_tabIndex, js_html2_HTMLTextAreaElement::static_set_tabIndex);
    instance->SetAccessor(v8::String::New("type"), js_html2_HTMLTextAreaElement::static_get_type, js_html2_HTMLTextAreaElement::static_set_type);
    instance->SetAccessor(v8::String::New("value"), js_html2_HTMLTextAreaElement::static_get_value, js_html2_HTMLTextAreaElement::static_set_value);

    v8_wrapper::Registrator< js_html2_HTMLTextAreaElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLButtonElement::static_get_form(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLButtonElement*>(ptr)->form;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLButtonElement::static_set_form(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLButtonElement::static_get_accessKey(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLButtonElement*>(ptr)->accessKey;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLButtonElement::static_set_accessKey(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLButtonElement*>(ptr)->accessKey = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLButtonElement::static_get_disabled(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_html2_HTMLButtonElement*>(ptr)->disabled;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLButtonElement::static_set_disabled(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLButtonElement*>(ptr)->disabled = v8_wrapper::Get< bool >(value);
}

Handle<Value> js_html2_HTMLButtonElement::static_get_name(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLButtonElement*>(ptr)->name;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLButtonElement::static_set_name(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 4>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLButtonElement*>(ptr)->name = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLButtonElement::static_get_tabIndex(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long int value = dynamic_cast<js_html2_HTMLButtonElement*>(ptr)->tabIndex;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLButtonElement::static_set_tabIndex(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 5>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLButtonElement*>(ptr)->tabIndex = v8_wrapper::Get< long int >(value);
}

Handle<Value> js_html2_HTMLButtonElement::static_get_type(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const html2::DOMString value = dynamic_cast<js_html2_HTMLButtonElement*>(ptr)->type;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLButtonElement::static_set_type(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 6>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLButtonElement::static_get_value(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 7>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 7>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLButtonElement*>(ptr)->value;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLButtonElement::static_set_value(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 7>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLButtonElement, 7>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLButtonElement*>(ptr)->value = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLButtonElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLButtonElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("form"), js_html2_HTMLButtonElement::static_get_form, js_html2_HTMLButtonElement::static_set_form);
    instance->SetAccessor(v8::String::New("accessKey"), js_html2_HTMLButtonElement::static_get_accessKey, js_html2_HTMLButtonElement::static_set_accessKey);
    instance->SetAccessor(v8::String::New("disabled"), js_html2_HTMLButtonElement::static_get_disabled, js_html2_HTMLButtonElement::static_set_disabled);
    instance->SetAccessor(v8::String::New("name"), js_html2_HTMLButtonElement::static_get_name, js_html2_HTMLButtonElement::static_set_name);
    instance->SetAccessor(v8::String::New("tabIndex"), js_html2_HTMLButtonElement::static_get_tabIndex, js_html2_HTMLButtonElement::static_set_tabIndex);
    instance->SetAccessor(v8::String::New("type"), js_html2_HTMLButtonElement::static_get_type, js_html2_HTMLButtonElement::static_set_type);
    instance->SetAccessor(v8::String::New("value"), js_html2_HTMLButtonElement::static_get_value, js_html2_HTMLButtonElement::static_set_value);

    v8_wrapper::Registrator< js_html2_HTMLButtonElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLLabelElement::static_get_form(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLabelElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLLabelElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLLabelElement*>(ptr)->form;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLLabelElement::static_set_form(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLabelElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLLabelElement, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLLabelElement::static_get_accessKey(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLabelElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLLabelElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLLabelElement*>(ptr)->accessKey;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLLabelElement::static_set_accessKey(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLabelElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLLabelElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLLabelElement*>(ptr)->accessKey = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLLabelElement::static_get_htmlFor(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLabelElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLLabelElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLLabelElement*>(ptr)->htmlFor;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLLabelElement::static_set_htmlFor(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLabelElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLLabelElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLLabelElement*>(ptr)->htmlFor = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLLabelElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLLabelElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("form"), js_html2_HTMLLabelElement::static_get_form, js_html2_HTMLLabelElement::static_set_form);
    instance->SetAccessor(v8::String::New("accessKey"), js_html2_HTMLLabelElement::static_get_accessKey, js_html2_HTMLLabelElement::static_set_accessKey);
    instance->SetAccessor(v8::String::New("htmlFor"), js_html2_HTMLLabelElement::static_get_htmlFor, js_html2_HTMLLabelElement::static_set_htmlFor);

    v8_wrapper::Registrator< js_html2_HTMLLabelElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLFieldSetElement::static_get_form(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFieldSetElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLFieldSetElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLFieldSetElement*>(ptr)->form;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLFieldSetElement::static_set_form(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFieldSetElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLFieldSetElement, 1>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLFieldSetElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLFieldSetElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("form"), js_html2_HTMLFieldSetElement::static_get_form, js_html2_HTMLFieldSetElement::static_set_form);

    v8_wrapper::Registrator< js_html2_HTMLFieldSetElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLLegendElement::static_get_form(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLegendElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLLegendElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLLegendElement*>(ptr)->form;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLLegendElement::static_set_form(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLegendElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLLegendElement, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLLegendElement::static_get_accessKey(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLegendElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLLegendElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLLegendElement*>(ptr)->accessKey;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLLegendElement::static_set_accessKey(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLegendElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLLegendElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLLegendElement*>(ptr)->accessKey = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLLegendElement::static_get_align(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLegendElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLLegendElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLLegendElement*>(ptr)->align;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLLegendElement::static_set_align(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLegendElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLLegendElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLLegendElement*>(ptr)->align = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLLegendElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLLegendElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("form"), js_html2_HTMLLegendElement::static_get_form, js_html2_HTMLLegendElement::static_set_form);
    instance->SetAccessor(v8::String::New("accessKey"), js_html2_HTMLLegendElement::static_get_accessKey, js_html2_HTMLLegendElement::static_set_accessKey);
    instance->SetAccessor(v8::String::New("align"), js_html2_HTMLLegendElement::static_get_align, js_html2_HTMLLegendElement::static_set_align);

    v8_wrapper::Registrator< js_html2_HTMLLegendElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLUListElement::static_get_compact(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLUListElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLUListElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_html2_HTMLUListElement*>(ptr)->compact;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLUListElement::static_set_compact(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLUListElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLUListElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLUListElement*>(ptr)->compact = v8_wrapper::Get< bool >(value);
}

Handle<Value> js_html2_HTMLUListElement::static_get_type(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLUListElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLUListElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLUListElement*>(ptr)->type;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLUListElement::static_set_type(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLUListElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLUListElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLUListElement*>(ptr)->type = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLUListElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLUListElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("compact"), js_html2_HTMLUListElement::static_get_compact, js_html2_HTMLUListElement::static_set_compact);
    instance->SetAccessor(v8::String::New("type"), js_html2_HTMLUListElement::static_get_type, js_html2_HTMLUListElement::static_set_type);

    v8_wrapper::Registrator< js_html2_HTMLUListElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLOListElement::static_get_compact(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOListElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLOListElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_html2_HTMLOListElement*>(ptr)->compact;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLOListElement::static_set_compact(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOListElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLOListElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLOListElement*>(ptr)->compact = v8_wrapper::Get< bool >(value);
}

Handle<Value> js_html2_HTMLOListElement::static_get_start(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOListElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLOListElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long int value = dynamic_cast<js_html2_HTMLOListElement*>(ptr)->start;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLOListElement::static_set_start(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOListElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLOListElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLOListElement*>(ptr)->start = v8_wrapper::Get< long int >(value);
}

Handle<Value> js_html2_HTMLOListElement::static_get_type(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOListElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLOListElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLOListElement*>(ptr)->type;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLOListElement::static_set_type(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLOListElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLOListElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLOListElement*>(ptr)->type = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLOListElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLOListElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("compact"), js_html2_HTMLOListElement::static_get_compact, js_html2_HTMLOListElement::static_set_compact);
    instance->SetAccessor(v8::String::New("start"), js_html2_HTMLOListElement::static_get_start, js_html2_HTMLOListElement::static_set_start);
    instance->SetAccessor(v8::String::New("type"), js_html2_HTMLOListElement::static_get_type, js_html2_HTMLOListElement::static_set_type);

    v8_wrapper::Registrator< js_html2_HTMLOListElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLDListElement::static_get_compact(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDListElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLDListElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_html2_HTMLDListElement*>(ptr)->compact;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLDListElement::static_set_compact(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDListElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLDListElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLDListElement*>(ptr)->compact = v8_wrapper::Get< bool >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLDListElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLDListElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("compact"), js_html2_HTMLDListElement::static_get_compact, js_html2_HTMLDListElement::static_set_compact);

    v8_wrapper::Registrator< js_html2_HTMLDListElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLDirectoryElement::static_get_compact(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDirectoryElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLDirectoryElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_html2_HTMLDirectoryElement*>(ptr)->compact;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLDirectoryElement::static_set_compact(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDirectoryElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLDirectoryElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLDirectoryElement*>(ptr)->compact = v8_wrapper::Get< bool >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLDirectoryElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLDirectoryElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("compact"), js_html2_HTMLDirectoryElement::static_get_compact, js_html2_HTMLDirectoryElement::static_set_compact);

    v8_wrapper::Registrator< js_html2_HTMLDirectoryElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLMenuElement::static_get_compact(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLMenuElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLMenuElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_html2_HTMLMenuElement*>(ptr)->compact;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLMenuElement::static_set_compact(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLMenuElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLMenuElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLMenuElement*>(ptr)->compact = v8_wrapper::Get< bool >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLMenuElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLMenuElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("compact"), js_html2_HTMLMenuElement::static_get_compact, js_html2_HTMLMenuElement::static_set_compact);

    v8_wrapper::Registrator< js_html2_HTMLMenuElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLLIElement::static_get_type(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLIElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLLIElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLLIElement*>(ptr)->type;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLLIElement::static_set_type(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLIElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLLIElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLLIElement*>(ptr)->type = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLLIElement::static_get_value(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLIElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLLIElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long int value = dynamic_cast<js_html2_HTMLLIElement*>(ptr)->value;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLLIElement::static_set_value(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLLIElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLLIElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLLIElement*>(ptr)->value = v8_wrapper::Get< long int >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLLIElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLLIElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("type"), js_html2_HTMLLIElement::static_get_type, js_html2_HTMLLIElement::static_set_type);
    instance->SetAccessor(v8::String::New("value"), js_html2_HTMLLIElement::static_get_value, js_html2_HTMLLIElement::static_set_value);

    v8_wrapper::Registrator< js_html2_HTMLLIElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLDivElement::static_get_align(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDivElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLDivElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLDivElement*>(ptr)->align;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLDivElement::static_set_align(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLDivElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLDivElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLDivElement*>(ptr)->align = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLDivElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLDivElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("align"), js_html2_HTMLDivElement::static_get_align, js_html2_HTMLDivElement::static_set_align);

    v8_wrapper::Registrator< js_html2_HTMLDivElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLParagraphElement::static_get_align(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLParagraphElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLParagraphElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLParagraphElement*>(ptr)->align;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLParagraphElement::static_set_align(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLParagraphElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLParagraphElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLParagraphElement*>(ptr)->align = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLParagraphElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLParagraphElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("align"), js_html2_HTMLParagraphElement::static_get_align, js_html2_HTMLParagraphElement::static_set_align);

    v8_wrapper::Registrator< js_html2_HTMLParagraphElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLHeadingElement::static_get_align(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLHeadingElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLHeadingElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLHeadingElement*>(ptr)->align;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLHeadingElement::static_set_align(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLHeadingElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLHeadingElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLHeadingElement*>(ptr)->align = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLHeadingElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLHeadingElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("align"), js_html2_HTMLHeadingElement::static_get_align, js_html2_HTMLHeadingElement::static_set_align);

    v8_wrapper::Registrator< js_html2_HTMLHeadingElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLQuoteElement::static_get_cite(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLQuoteElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLQuoteElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLQuoteElement*>(ptr)->cite;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLQuoteElement::static_set_cite(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLQuoteElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLQuoteElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLQuoteElement*>(ptr)->cite = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLQuoteElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLQuoteElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("cite"), js_html2_HTMLQuoteElement::static_get_cite, js_html2_HTMLQuoteElement::static_set_cite);

    v8_wrapper::Registrator< js_html2_HTMLQuoteElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLPreElement::static_get_width(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLPreElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLPreElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long int value = dynamic_cast<js_html2_HTMLPreElement*>(ptr)->width;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLPreElement::static_set_width(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLPreElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLPreElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLPreElement*>(ptr)->width = v8_wrapper::Get< long int >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLPreElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLPreElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("width"), js_html2_HTMLPreElement::static_get_width, js_html2_HTMLPreElement::static_set_width);

    v8_wrapper::Registrator< js_html2_HTMLPreElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLBRElement::static_get_clear(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLBRElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLBRElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLBRElement*>(ptr)->clear;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLBRElement::static_set_clear(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLBRElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLBRElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLBRElement*>(ptr)->clear = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLBRElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLBRElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("clear"), js_html2_HTMLBRElement::static_get_clear, js_html2_HTMLBRElement::static_set_clear);

    v8_wrapper::Registrator< js_html2_HTMLBRElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLBaseFontElement::static_get_color(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLBaseFontElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLBaseFontElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLBaseFontElement*>(ptr)->color;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLBaseFontElement::static_set_color(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLBaseFontElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLBaseFontElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLBaseFontElement*>(ptr)->color = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLBaseFontElement::static_get_face(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLBaseFontElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLBaseFontElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLBaseFontElement*>(ptr)->face;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLBaseFontElement::static_set_face(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLBaseFontElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLBaseFontElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLBaseFontElement*>(ptr)->face = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLBaseFontElement::static_get_size(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLBaseFontElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLBaseFontElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long int value = dynamic_cast<js_html2_HTMLBaseFontElement*>(ptr)->size;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLBaseFontElement::static_set_size(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLBaseFontElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLBaseFontElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLBaseFontElement*>(ptr)->size = v8_wrapper::Get< long int >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLBaseFontElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLBaseFontElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("color"), js_html2_HTMLBaseFontElement::static_get_color, js_html2_HTMLBaseFontElement::static_set_color);
    instance->SetAccessor(v8::String::New("face"), js_html2_HTMLBaseFontElement::static_get_face, js_html2_HTMLBaseFontElement::static_set_face);
    instance->SetAccessor(v8::String::New("size"), js_html2_HTMLBaseFontElement::static_get_size, js_html2_HTMLBaseFontElement::static_set_size);

    v8_wrapper::Registrator< js_html2_HTMLBaseFontElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLFontElement::static_get_color(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFontElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLFontElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLFontElement*>(ptr)->color;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLFontElement::static_set_color(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFontElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLFontElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLFontElement*>(ptr)->color = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLFontElement::static_get_face(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFontElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLFontElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLFontElement*>(ptr)->face;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLFontElement::static_set_face(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFontElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLFontElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLFontElement*>(ptr)->face = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLFontElement::static_get_size(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFontElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLFontElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLFontElement*>(ptr)->size;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLFontElement::static_set_size(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFontElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLFontElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLFontElement*>(ptr)->size = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLFontElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLFontElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("color"), js_html2_HTMLFontElement::static_get_color, js_html2_HTMLFontElement::static_set_color);
    instance->SetAccessor(v8::String::New("face"), js_html2_HTMLFontElement::static_get_face, js_html2_HTMLFontElement::static_set_face);
    instance->SetAccessor(v8::String::New("size"), js_html2_HTMLFontElement::static_get_size, js_html2_HTMLFontElement::static_set_size);

    v8_wrapper::Registrator< js_html2_HTMLFontElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLHRElement::static_get_align(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLHRElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLHRElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLHRElement*>(ptr)->align;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLHRElement::static_set_align(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLHRElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLHRElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLHRElement*>(ptr)->align = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLHRElement::static_get_noShade(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLHRElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLHRElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_html2_HTMLHRElement*>(ptr)->noShade;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLHRElement::static_set_noShade(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLHRElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLHRElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLHRElement*>(ptr)->noShade = v8_wrapper::Get< bool >(value);
}

Handle<Value> js_html2_HTMLHRElement::static_get_size(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLHRElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLHRElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLHRElement*>(ptr)->size;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLHRElement::static_set_size(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLHRElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLHRElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLHRElement*>(ptr)->size = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLHRElement::static_get_width(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLHRElement, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLHRElement, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLHRElement*>(ptr)->width;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLHRElement::static_set_width(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLHRElement, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLHRElement, 4>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLHRElement*>(ptr)->width = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLHRElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLHRElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("align"), js_html2_HTMLHRElement::static_get_align, js_html2_HTMLHRElement::static_set_align);
    instance->SetAccessor(v8::String::New("noShade"), js_html2_HTMLHRElement::static_get_noShade, js_html2_HTMLHRElement::static_set_noShade);
    instance->SetAccessor(v8::String::New("size"), js_html2_HTMLHRElement::static_get_size, js_html2_HTMLHRElement::static_set_size);
    instance->SetAccessor(v8::String::New("width"), js_html2_HTMLHRElement::static_get_width, js_html2_HTMLHRElement::static_set_width);

    v8_wrapper::Registrator< js_html2_HTMLHRElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLModElement::static_get_cite(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLModElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLModElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLModElement*>(ptr)->cite;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLModElement::static_set_cite(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLModElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLModElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLModElement*>(ptr)->cite = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLModElement::static_get_dateTime(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLModElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLModElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLModElement*>(ptr)->dateTime;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLModElement::static_set_dateTime(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLModElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLModElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLModElement*>(ptr)->dateTime = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLModElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLModElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("cite"), js_html2_HTMLModElement::static_get_cite, js_html2_HTMLModElement::static_set_cite);
    instance->SetAccessor(v8::String::New("dateTime"), js_html2_HTMLModElement::static_get_dateTime, js_html2_HTMLModElement::static_set_dateTime);

    v8_wrapper::Registrator< js_html2_HTMLModElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_html2_HTMLAnchorElement::static_blur(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_html2_HTMLAnchorElement * el = dynamic_cast<js_html2_HTMLAnchorElement *>(ptr);
    el->blur();
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_html2_HTMLAnchorElement::static_focus(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_html2_HTMLAnchorElement * el = dynamic_cast<js_html2_HTMLAnchorElement *>(ptr);
    el->focus();
    return scope.Close(retval);
}


Handle<Value> js_html2_HTMLAnchorElement::static_get_accessKey(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLAnchorElement*>(ptr)->accessKey;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAnchorElement::static_set_accessKey(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAnchorElement*>(ptr)->accessKey = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLAnchorElement::static_get_charset(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLAnchorElement*>(ptr)->charset;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAnchorElement::static_set_charset(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAnchorElement*>(ptr)->charset = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLAnchorElement::static_get_coords(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLAnchorElement*>(ptr)->coords;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAnchorElement::static_set_coords(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAnchorElement*>(ptr)->coords = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLAnchorElement::static_get_href(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLAnchorElement*>(ptr)->href;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAnchorElement::static_set_href(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 4>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAnchorElement*>(ptr)->href = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLAnchorElement::static_get_hreflang(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLAnchorElement*>(ptr)->hreflang;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAnchorElement::static_set_hreflang(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 5>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAnchorElement*>(ptr)->hreflang = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLAnchorElement::static_get_name(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLAnchorElement*>(ptr)->name;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAnchorElement::static_set_name(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 6>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAnchorElement*>(ptr)->name = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLAnchorElement::static_get_rel(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 7>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 7>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLAnchorElement*>(ptr)->rel;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAnchorElement::static_set_rel(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 7>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 7>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAnchorElement*>(ptr)->rel = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLAnchorElement::static_get_rev(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 8>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 8>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLAnchorElement*>(ptr)->rev;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAnchorElement::static_set_rev(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 8>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 8>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAnchorElement*>(ptr)->rev = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLAnchorElement::static_get_shape(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 9>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 9>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLAnchorElement*>(ptr)->shape;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAnchorElement::static_set_shape(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 9>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 9>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAnchorElement*>(ptr)->shape = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLAnchorElement::static_get_tabIndex(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 10>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 10>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long int value = dynamic_cast<js_html2_HTMLAnchorElement*>(ptr)->tabIndex;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAnchorElement::static_set_tabIndex(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 10>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 10>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAnchorElement*>(ptr)->tabIndex = v8_wrapper::Get< long int >(value);
}

Handle<Value> js_html2_HTMLAnchorElement::static_get_target(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 11>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 11>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLAnchorElement*>(ptr)->target;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAnchorElement::static_set_target(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 11>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 11>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAnchorElement*>(ptr)->target = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLAnchorElement::static_get_type(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 12>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 12>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLAnchorElement*>(ptr)->type;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAnchorElement::static_set_type(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 12>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAnchorElement, 12>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAnchorElement*>(ptr)->type = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLAnchorElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLAnchorElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    proto->Set(v8::String::New("blur"), v8::FunctionTemplate::New(js_html2_HTMLAnchorElement::static_blur));
    proto->Set(v8::String::New("focus"), v8::FunctionTemplate::New(js_html2_HTMLAnchorElement::static_focus));
    instance->SetAccessor(v8::String::New("accessKey"), js_html2_HTMLAnchorElement::static_get_accessKey, js_html2_HTMLAnchorElement::static_set_accessKey);
    instance->SetAccessor(v8::String::New("charset"), js_html2_HTMLAnchorElement::static_get_charset, js_html2_HTMLAnchorElement::static_set_charset);
    instance->SetAccessor(v8::String::New("coords"), js_html2_HTMLAnchorElement::static_get_coords, js_html2_HTMLAnchorElement::static_set_coords);
    instance->SetAccessor(v8::String::New("href"), js_html2_HTMLAnchorElement::static_get_href, js_html2_HTMLAnchorElement::static_set_href);
    instance->SetAccessor(v8::String::New("hreflang"), js_html2_HTMLAnchorElement::static_get_hreflang, js_html2_HTMLAnchorElement::static_set_hreflang);
    instance->SetAccessor(v8::String::New("name"), js_html2_HTMLAnchorElement::static_get_name, js_html2_HTMLAnchorElement::static_set_name);
    instance->SetAccessor(v8::String::New("rel"), js_html2_HTMLAnchorElement::static_get_rel, js_html2_HTMLAnchorElement::static_set_rel);
    instance->SetAccessor(v8::String::New("rev"), js_html2_HTMLAnchorElement::static_get_rev, js_html2_HTMLAnchorElement::static_set_rev);
    instance->SetAccessor(v8::String::New("shape"), js_html2_HTMLAnchorElement::static_get_shape, js_html2_HTMLAnchorElement::static_set_shape);
    instance->SetAccessor(v8::String::New("tabIndex"), js_html2_HTMLAnchorElement::static_get_tabIndex, js_html2_HTMLAnchorElement::static_set_tabIndex);
    instance->SetAccessor(v8::String::New("target"), js_html2_HTMLAnchorElement::static_get_target, js_html2_HTMLAnchorElement::static_set_target);
    instance->SetAccessor(v8::String::New("type"), js_html2_HTMLAnchorElement::static_get_type, js_html2_HTMLAnchorElement::static_set_type);

    v8_wrapper::Registrator< js_html2_HTMLAnchorElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLImageElement::static_get_name(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLImageElement*>(ptr)->name;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLImageElement::static_set_name(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLImageElement*>(ptr)->name = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLImageElement::static_get_align(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLImageElement*>(ptr)->align;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLImageElement::static_set_align(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLImageElement*>(ptr)->align = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLImageElement::static_get_alt(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLImageElement*>(ptr)->alt;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLImageElement::static_set_alt(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLImageElement*>(ptr)->alt = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLImageElement::static_get_border(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLImageElement*>(ptr)->border;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLImageElement::static_set_border(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 4>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLImageElement*>(ptr)->border = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLImageElement::static_get_height(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long int value = dynamic_cast<js_html2_HTMLImageElement*>(ptr)->height;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLImageElement::static_set_height(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 5>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLImageElement*>(ptr)->height = v8_wrapper::Get< long int >(value);
}

Handle<Value> js_html2_HTMLImageElement::static_get_hspace(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long int value = dynamic_cast<js_html2_HTMLImageElement*>(ptr)->hspace;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLImageElement::static_set_hspace(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 6>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLImageElement*>(ptr)->hspace = v8_wrapper::Get< long int >(value);
}

Handle<Value> js_html2_HTMLImageElement::static_get_isMap(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 7>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 7>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_html2_HTMLImageElement*>(ptr)->isMap;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLImageElement::static_set_isMap(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 7>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 7>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLImageElement*>(ptr)->isMap = v8_wrapper::Get< bool >(value);
}

Handle<Value> js_html2_HTMLImageElement::static_get_longDesc(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 8>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 8>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLImageElement*>(ptr)->longDesc;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLImageElement::static_set_longDesc(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 8>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 8>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLImageElement*>(ptr)->longDesc = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLImageElement::static_get_src(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 9>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 9>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLImageElement*>(ptr)->src;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLImageElement::static_set_src(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 9>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 9>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLImageElement*>(ptr)->src = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLImageElement::static_get_useMap(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 10>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 10>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLImageElement*>(ptr)->useMap;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLImageElement::static_set_useMap(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 10>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 10>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLImageElement*>(ptr)->useMap = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLImageElement::static_get_vspace(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 11>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 11>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long int value = dynamic_cast<js_html2_HTMLImageElement*>(ptr)->vspace;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLImageElement::static_set_vspace(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 11>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 11>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLImageElement*>(ptr)->vspace = v8_wrapper::Get< long int >(value);
}

Handle<Value> js_html2_HTMLImageElement::static_get_width(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 12>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 12>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long int value = dynamic_cast<js_html2_HTMLImageElement*>(ptr)->width;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLImageElement::static_set_width(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 12>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLImageElement, 12>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLImageElement*>(ptr)->width = v8_wrapper::Get< long int >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLImageElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLImageElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("name"), js_html2_HTMLImageElement::static_get_name, js_html2_HTMLImageElement::static_set_name);
    instance->SetAccessor(v8::String::New("align"), js_html2_HTMLImageElement::static_get_align, js_html2_HTMLImageElement::static_set_align);
    instance->SetAccessor(v8::String::New("alt"), js_html2_HTMLImageElement::static_get_alt, js_html2_HTMLImageElement::static_set_alt);
    instance->SetAccessor(v8::String::New("border"), js_html2_HTMLImageElement::static_get_border, js_html2_HTMLImageElement::static_set_border);
    instance->SetAccessor(v8::String::New("height"), js_html2_HTMLImageElement::static_get_height, js_html2_HTMLImageElement::static_set_height);
    instance->SetAccessor(v8::String::New("hspace"), js_html2_HTMLImageElement::static_get_hspace, js_html2_HTMLImageElement::static_set_hspace);
    instance->SetAccessor(v8::String::New("isMap"), js_html2_HTMLImageElement::static_get_isMap, js_html2_HTMLImageElement::static_set_isMap);
    instance->SetAccessor(v8::String::New("longDesc"), js_html2_HTMLImageElement::static_get_longDesc, js_html2_HTMLImageElement::static_set_longDesc);
    instance->SetAccessor(v8::String::New("src"), js_html2_HTMLImageElement::static_get_src, js_html2_HTMLImageElement::static_set_src);
    instance->SetAccessor(v8::String::New("useMap"), js_html2_HTMLImageElement::static_get_useMap, js_html2_HTMLImageElement::static_set_useMap);
    instance->SetAccessor(v8::String::New("vspace"), js_html2_HTMLImageElement::static_get_vspace, js_html2_HTMLImageElement::static_set_vspace);
    instance->SetAccessor(v8::String::New("width"), js_html2_HTMLImageElement::static_get_width, js_html2_HTMLImageElement::static_set_width);

    v8_wrapper::Registrator< js_html2_HTMLImageElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLObjectElement::static_get_form(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->form;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLObjectElement::static_set_form(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLObjectElement::static_get_code(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->code;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLObjectElement::static_set_code(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->code = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLObjectElement::static_get_align(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->align;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLObjectElement::static_set_align(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->align = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLObjectElement::static_get_archive(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->archive;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLObjectElement::static_set_archive(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 4>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->archive = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLObjectElement::static_get_border(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->border;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLObjectElement::static_set_border(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 5>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->border = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLObjectElement::static_get_codeBase(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->codeBase;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLObjectElement::static_set_codeBase(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 6>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->codeBase = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLObjectElement::static_get_codeType(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 7>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 7>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->codeType;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLObjectElement::static_set_codeType(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 7>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 7>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->codeType = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLObjectElement::static_get_data(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 8>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 8>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->data;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLObjectElement::static_set_data(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 8>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 8>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->data = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLObjectElement::static_get_declare(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 9>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 9>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->declare;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLObjectElement::static_set_declare(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 9>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 9>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->declare = v8_wrapper::Get< bool >(value);
}

Handle<Value> js_html2_HTMLObjectElement::static_get_height(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 10>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 10>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->height;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLObjectElement::static_set_height(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 10>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 10>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->height = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLObjectElement::static_get_hspace(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 11>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 11>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long int value = dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->hspace;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLObjectElement::static_set_hspace(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 11>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 11>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->hspace = v8_wrapper::Get< long int >(value);
}

Handle<Value> js_html2_HTMLObjectElement::static_get_name(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 12>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 12>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->name;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLObjectElement::static_set_name(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 12>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 12>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->name = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLObjectElement::static_get_standby(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 13>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 13>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->standby;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLObjectElement::static_set_standby(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 13>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 13>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->standby = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLObjectElement::static_get_tabIndex(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 14>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 14>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long int value = dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->tabIndex;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLObjectElement::static_set_tabIndex(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 14>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 14>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->tabIndex = v8_wrapper::Get< long int >(value);
}

Handle<Value> js_html2_HTMLObjectElement::static_get_type(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 15>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 15>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->type;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLObjectElement::static_set_type(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 15>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 15>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->type = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLObjectElement::static_get_useMap(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 16>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 16>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->useMap;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLObjectElement::static_set_useMap(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 16>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 16>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->useMap = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLObjectElement::static_get_vspace(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 17>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 17>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long int value = dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->vspace;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLObjectElement::static_set_vspace(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 17>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 17>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->vspace = v8_wrapper::Get< long int >(value);
}

Handle<Value> js_html2_HTMLObjectElement::static_get_width(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 18>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 18>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->width;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLObjectElement::static_set_width(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 18>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 18>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->width = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLObjectElement::static_get_contentDocument(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 19>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 19>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLObjectElement*>(ptr)->contentDocument;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLObjectElement::static_set_contentDocument(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 19>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLObjectElement, 19>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLObjectElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLObjectElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("form"), js_html2_HTMLObjectElement::static_get_form, js_html2_HTMLObjectElement::static_set_form);
    instance->SetAccessor(v8::String::New("code"), js_html2_HTMLObjectElement::static_get_code, js_html2_HTMLObjectElement::static_set_code);
    instance->SetAccessor(v8::String::New("align"), js_html2_HTMLObjectElement::static_get_align, js_html2_HTMLObjectElement::static_set_align);
    instance->SetAccessor(v8::String::New("archive"), js_html2_HTMLObjectElement::static_get_archive, js_html2_HTMLObjectElement::static_set_archive);
    instance->SetAccessor(v8::String::New("border"), js_html2_HTMLObjectElement::static_get_border, js_html2_HTMLObjectElement::static_set_border);
    instance->SetAccessor(v8::String::New("codeBase"), js_html2_HTMLObjectElement::static_get_codeBase, js_html2_HTMLObjectElement::static_set_codeBase);
    instance->SetAccessor(v8::String::New("codeType"), js_html2_HTMLObjectElement::static_get_codeType, js_html2_HTMLObjectElement::static_set_codeType);
    instance->SetAccessor(v8::String::New("data"), js_html2_HTMLObjectElement::static_get_data, js_html2_HTMLObjectElement::static_set_data);
    instance->SetAccessor(v8::String::New("declare"), js_html2_HTMLObjectElement::static_get_declare, js_html2_HTMLObjectElement::static_set_declare);
    instance->SetAccessor(v8::String::New("height"), js_html2_HTMLObjectElement::static_get_height, js_html2_HTMLObjectElement::static_set_height);
    instance->SetAccessor(v8::String::New("hspace"), js_html2_HTMLObjectElement::static_get_hspace, js_html2_HTMLObjectElement::static_set_hspace);
    instance->SetAccessor(v8::String::New("name"), js_html2_HTMLObjectElement::static_get_name, js_html2_HTMLObjectElement::static_set_name);
    instance->SetAccessor(v8::String::New("standby"), js_html2_HTMLObjectElement::static_get_standby, js_html2_HTMLObjectElement::static_set_standby);
    instance->SetAccessor(v8::String::New("tabIndex"), js_html2_HTMLObjectElement::static_get_tabIndex, js_html2_HTMLObjectElement::static_set_tabIndex);
    instance->SetAccessor(v8::String::New("type"), js_html2_HTMLObjectElement::static_get_type, js_html2_HTMLObjectElement::static_set_type);
    instance->SetAccessor(v8::String::New("useMap"), js_html2_HTMLObjectElement::static_get_useMap, js_html2_HTMLObjectElement::static_set_useMap);
    instance->SetAccessor(v8::String::New("vspace"), js_html2_HTMLObjectElement::static_get_vspace, js_html2_HTMLObjectElement::static_set_vspace);
    instance->SetAccessor(v8::String::New("width"), js_html2_HTMLObjectElement::static_get_width, js_html2_HTMLObjectElement::static_set_width);
    instance->SetAccessor(v8::String::New("contentDocument"), js_html2_HTMLObjectElement::static_get_contentDocument, js_html2_HTMLObjectElement::static_set_contentDocument);

    v8_wrapper::Registrator< js_html2_HTMLObjectElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLParamElement::static_get_name(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLParamElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLParamElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLParamElement*>(ptr)->name;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLParamElement::static_set_name(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLParamElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLParamElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLParamElement*>(ptr)->name = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLParamElement::static_get_type(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLParamElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLParamElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLParamElement*>(ptr)->type;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLParamElement::static_set_type(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLParamElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLParamElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLParamElement*>(ptr)->type = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLParamElement::static_get_value(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLParamElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLParamElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLParamElement*>(ptr)->value;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLParamElement::static_set_value(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLParamElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLParamElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLParamElement*>(ptr)->value = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLParamElement::static_get_valueType(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLParamElement, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLParamElement, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLParamElement*>(ptr)->valueType;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLParamElement::static_set_valueType(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLParamElement, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLParamElement, 4>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLParamElement*>(ptr)->valueType = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLParamElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLParamElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("name"), js_html2_HTMLParamElement::static_get_name, js_html2_HTMLParamElement::static_set_name);
    instance->SetAccessor(v8::String::New("type"), js_html2_HTMLParamElement::static_get_type, js_html2_HTMLParamElement::static_set_type);
    instance->SetAccessor(v8::String::New("value"), js_html2_HTMLParamElement::static_get_value, js_html2_HTMLParamElement::static_set_value);
    instance->SetAccessor(v8::String::New("valueType"), js_html2_HTMLParamElement::static_get_valueType, js_html2_HTMLParamElement::static_set_valueType);

    v8_wrapper::Registrator< js_html2_HTMLParamElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLAppletElement::static_get_align(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLAppletElement*>(ptr)->align;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAppletElement::static_set_align(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAppletElement*>(ptr)->align = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLAppletElement::static_get_alt(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLAppletElement*>(ptr)->alt;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAppletElement::static_set_alt(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAppletElement*>(ptr)->alt = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLAppletElement::static_get_archive(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLAppletElement*>(ptr)->archive;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAppletElement::static_set_archive(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAppletElement*>(ptr)->archive = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLAppletElement::static_get_code(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLAppletElement*>(ptr)->code;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAppletElement::static_set_code(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 4>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAppletElement*>(ptr)->code = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLAppletElement::static_get_codeBase(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLAppletElement*>(ptr)->codeBase;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAppletElement::static_set_codeBase(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 5>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAppletElement*>(ptr)->codeBase = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLAppletElement::static_get_height(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLAppletElement*>(ptr)->height;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAppletElement::static_set_height(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 6>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAppletElement*>(ptr)->height = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLAppletElement::static_get_hspace(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 7>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 7>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long int value = dynamic_cast<js_html2_HTMLAppletElement*>(ptr)->hspace;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAppletElement::static_set_hspace(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 7>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 7>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAppletElement*>(ptr)->hspace = v8_wrapper::Get< long int >(value);
}

Handle<Value> js_html2_HTMLAppletElement::static_get_name(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 8>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 8>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLAppletElement*>(ptr)->name;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAppletElement::static_set_name(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 8>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 8>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAppletElement*>(ptr)->name = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLAppletElement::static_get_object(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 9>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 9>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLAppletElement*>(ptr)->object;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAppletElement::static_set_object(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 9>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 9>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAppletElement*>(ptr)->object = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLAppletElement::static_get_vspace(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 10>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 10>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long int value = dynamic_cast<js_html2_HTMLAppletElement*>(ptr)->vspace;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAppletElement::static_set_vspace(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 10>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 10>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAppletElement*>(ptr)->vspace = v8_wrapper::Get< long int >(value);
}

Handle<Value> js_html2_HTMLAppletElement::static_get_width(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 11>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 11>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLAppletElement*>(ptr)->width;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAppletElement::static_set_width(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 11>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAppletElement, 11>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAppletElement*>(ptr)->width = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLAppletElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLAppletElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("align"), js_html2_HTMLAppletElement::static_get_align, js_html2_HTMLAppletElement::static_set_align);
    instance->SetAccessor(v8::String::New("alt"), js_html2_HTMLAppletElement::static_get_alt, js_html2_HTMLAppletElement::static_set_alt);
    instance->SetAccessor(v8::String::New("archive"), js_html2_HTMLAppletElement::static_get_archive, js_html2_HTMLAppletElement::static_set_archive);
    instance->SetAccessor(v8::String::New("code"), js_html2_HTMLAppletElement::static_get_code, js_html2_HTMLAppletElement::static_set_code);
    instance->SetAccessor(v8::String::New("codeBase"), js_html2_HTMLAppletElement::static_get_codeBase, js_html2_HTMLAppletElement::static_set_codeBase);
    instance->SetAccessor(v8::String::New("height"), js_html2_HTMLAppletElement::static_get_height, js_html2_HTMLAppletElement::static_set_height);
    instance->SetAccessor(v8::String::New("hspace"), js_html2_HTMLAppletElement::static_get_hspace, js_html2_HTMLAppletElement::static_set_hspace);
    instance->SetAccessor(v8::String::New("name"), js_html2_HTMLAppletElement::static_get_name, js_html2_HTMLAppletElement::static_set_name);
    instance->SetAccessor(v8::String::New("object"), js_html2_HTMLAppletElement::static_get_object, js_html2_HTMLAppletElement::static_set_object);
    instance->SetAccessor(v8::String::New("vspace"), js_html2_HTMLAppletElement::static_get_vspace, js_html2_HTMLAppletElement::static_set_vspace);
    instance->SetAccessor(v8::String::New("width"), js_html2_HTMLAppletElement::static_get_width, js_html2_HTMLAppletElement::static_set_width);

    v8_wrapper::Registrator< js_html2_HTMLAppletElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLMapElement::static_get_areas(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLMapElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLMapElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLMapElement*>(ptr)->areas;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLMapElement::static_set_areas(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLMapElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLMapElement, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLMapElement::static_get_name(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLMapElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLMapElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLMapElement*>(ptr)->name;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLMapElement::static_set_name(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLMapElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLMapElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLMapElement*>(ptr)->name = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLMapElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLMapElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("areas"), js_html2_HTMLMapElement::static_get_areas, js_html2_HTMLMapElement::static_set_areas);
    instance->SetAccessor(v8::String::New("name"), js_html2_HTMLMapElement::static_get_name, js_html2_HTMLMapElement::static_set_name);

    v8_wrapper::Registrator< js_html2_HTMLMapElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLAreaElement::static_get_accessKey(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLAreaElement*>(ptr)->accessKey;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAreaElement::static_set_accessKey(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAreaElement*>(ptr)->accessKey = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLAreaElement::static_get_alt(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLAreaElement*>(ptr)->alt;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAreaElement::static_set_alt(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAreaElement*>(ptr)->alt = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLAreaElement::static_get_coords(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLAreaElement*>(ptr)->coords;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAreaElement::static_set_coords(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAreaElement*>(ptr)->coords = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLAreaElement::static_get_href(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLAreaElement*>(ptr)->href;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAreaElement::static_set_href(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 4>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAreaElement*>(ptr)->href = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLAreaElement::static_get_noHref(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_html2_HTMLAreaElement*>(ptr)->noHref;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAreaElement::static_set_noHref(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 5>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAreaElement*>(ptr)->noHref = v8_wrapper::Get< bool >(value);
}

Handle<Value> js_html2_HTMLAreaElement::static_get_shape(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLAreaElement*>(ptr)->shape;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAreaElement::static_set_shape(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 6>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAreaElement*>(ptr)->shape = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLAreaElement::static_get_tabIndex(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 7>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 7>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long int value = dynamic_cast<js_html2_HTMLAreaElement*>(ptr)->tabIndex;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAreaElement::static_set_tabIndex(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 7>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 7>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAreaElement*>(ptr)->tabIndex = v8_wrapper::Get< long int >(value);
}

Handle<Value> js_html2_HTMLAreaElement::static_get_target(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 8>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 8>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLAreaElement*>(ptr)->target;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLAreaElement::static_set_target(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 8>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLAreaElement, 8>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLAreaElement*>(ptr)->target = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLAreaElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLAreaElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("accessKey"), js_html2_HTMLAreaElement::static_get_accessKey, js_html2_HTMLAreaElement::static_set_accessKey);
    instance->SetAccessor(v8::String::New("alt"), js_html2_HTMLAreaElement::static_get_alt, js_html2_HTMLAreaElement::static_set_alt);
    instance->SetAccessor(v8::String::New("coords"), js_html2_HTMLAreaElement::static_get_coords, js_html2_HTMLAreaElement::static_set_coords);
    instance->SetAccessor(v8::String::New("href"), js_html2_HTMLAreaElement::static_get_href, js_html2_HTMLAreaElement::static_set_href);
    instance->SetAccessor(v8::String::New("noHref"), js_html2_HTMLAreaElement::static_get_noHref, js_html2_HTMLAreaElement::static_set_noHref);
    instance->SetAccessor(v8::String::New("shape"), js_html2_HTMLAreaElement::static_get_shape, js_html2_HTMLAreaElement::static_set_shape);
    instance->SetAccessor(v8::String::New("tabIndex"), js_html2_HTMLAreaElement::static_get_tabIndex, js_html2_HTMLAreaElement::static_set_tabIndex);
    instance->SetAccessor(v8::String::New("target"), js_html2_HTMLAreaElement::static_get_target, js_html2_HTMLAreaElement::static_set_target);

    v8_wrapper::Registrator< js_html2_HTMLAreaElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLScriptElement::static_get_text(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLScriptElement*>(ptr)->text;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLScriptElement::static_set_text(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLScriptElement*>(ptr)->text = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLScriptElement::static_get_htmlFor(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLScriptElement*>(ptr)->htmlFor;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLScriptElement::static_set_htmlFor(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLScriptElement*>(ptr)->htmlFor = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLScriptElement::static_get_event(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLScriptElement*>(ptr)->event;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLScriptElement::static_set_event(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLScriptElement*>(ptr)->event = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLScriptElement::static_get_charset(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLScriptElement*>(ptr)->charset;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLScriptElement::static_set_charset(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 4>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLScriptElement*>(ptr)->charset = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLScriptElement::static_get_defer(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_html2_HTMLScriptElement*>(ptr)->defer;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLScriptElement::static_set_defer(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 5>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLScriptElement*>(ptr)->defer = v8_wrapper::Get< bool >(value);
}

Handle<Value> js_html2_HTMLScriptElement::static_get_src(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLScriptElement*>(ptr)->src;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLScriptElement::static_set_src(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 6>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLScriptElement*>(ptr)->src = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLScriptElement::static_get_type(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 7>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 7>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLScriptElement*>(ptr)->type;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLScriptElement::static_set_type(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 7>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLScriptElement, 7>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLScriptElement*>(ptr)->type = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLScriptElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLScriptElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("text"), js_html2_HTMLScriptElement::static_get_text, js_html2_HTMLScriptElement::static_set_text);
    instance->SetAccessor(v8::String::New("htmlFor"), js_html2_HTMLScriptElement::static_get_htmlFor, js_html2_HTMLScriptElement::static_set_htmlFor);
    instance->SetAccessor(v8::String::New("event"), js_html2_HTMLScriptElement::static_get_event, js_html2_HTMLScriptElement::static_set_event);
    instance->SetAccessor(v8::String::New("charset"), js_html2_HTMLScriptElement::static_get_charset, js_html2_HTMLScriptElement::static_set_charset);
    instance->SetAccessor(v8::String::New("defer"), js_html2_HTMLScriptElement::static_get_defer, js_html2_HTMLScriptElement::static_set_defer);
    instance->SetAccessor(v8::String::New("src"), js_html2_HTMLScriptElement::static_get_src, js_html2_HTMLScriptElement::static_set_src);
    instance->SetAccessor(v8::String::New("type"), js_html2_HTMLScriptElement::static_get_type, js_html2_HTMLScriptElement::static_set_type);

    v8_wrapper::Registrator< js_html2_HTMLScriptElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_html2_HTMLTableElement::static_createTHead(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_html2_HTMLTableElement * el = dynamic_cast<js_html2_HTMLTableElement *>(ptr);
    retval = v8_wrapper::Set( el->createTHead() );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_html2_HTMLTableElement::static_deleteTHead(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_html2_HTMLTableElement * el = dynamic_cast<js_html2_HTMLTableElement *>(ptr);
    el->deleteTHead();
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_html2_HTMLTableElement::static_createTFoot(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_html2_HTMLTableElement * el = dynamic_cast<js_html2_HTMLTableElement *>(ptr);
    retval = v8_wrapper::Set( el->createTFoot() );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_html2_HTMLTableElement::static_deleteTFoot(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_html2_HTMLTableElement * el = dynamic_cast<js_html2_HTMLTableElement *>(ptr);
    el->deleteTFoot();
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_html2_HTMLTableElement::static_createCaption(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_html2_HTMLTableElement * el = dynamic_cast<js_html2_HTMLTableElement *>(ptr);
    retval = v8_wrapper::Set( el->createCaption() );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_html2_HTMLTableElement::static_deleteCaption(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_html2_HTMLTableElement * el = dynamic_cast<js_html2_HTMLTableElement *>(ptr);
    el->deleteCaption();
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_html2_HTMLTableElement::static_insertRow(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    long int val_index = v8_wrapper::Get< long int > ( args[0] );
    js_html2_HTMLTableElement * el = dynamic_cast<js_html2_HTMLTableElement *>(ptr);
    retval = v8_wrapper::Set( el->insertRow(val_index) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_html2_HTMLTableElement::static_deleteRow(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    long int val_index = v8_wrapper::Get< long int > ( args[0] );
    js_html2_HTMLTableElement * el = dynamic_cast<js_html2_HTMLTableElement *>(ptr);
    el->deleteRow(val_index);
    return scope.Close(retval);
}


Handle<Value> js_html2_HTMLTableElement::static_get_caption(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLTableElement*>(ptr)->caption;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableElement::static_set_caption(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableElement*>(ptr)->caption = v8_wrapper::Get< v8::Handle<v8::Value> >(value);
}

Handle<Value> js_html2_HTMLTableElement::static_get_tHead(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLTableElement*>(ptr)->tHead;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableElement::static_set_tHead(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableElement*>(ptr)->tHead = v8_wrapper::Get< v8::Handle<v8::Value> >(value);
}

Handle<Value> js_html2_HTMLTableElement::static_get_tFoot(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLTableElement*>(ptr)->tFoot;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableElement::static_set_tFoot(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableElement*>(ptr)->tFoot = v8_wrapper::Get< v8::Handle<v8::Value> >(value);
}

Handle<Value> js_html2_HTMLTableElement::static_get_rows(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLTableElement*>(ptr)->rows;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableElement::static_set_rows(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 4>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLTableElement::static_get_tBodies(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLTableElement*>(ptr)->tBodies;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableElement::static_set_tBodies(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 5>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLTableElement::static_get_align(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableElement*>(ptr)->align;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableElement::static_set_align(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 6>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableElement*>(ptr)->align = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableElement::static_get_bgColor(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 7>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 7>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableElement*>(ptr)->bgColor;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableElement::static_set_bgColor(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 7>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 7>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableElement*>(ptr)->bgColor = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableElement::static_get_border(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 8>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 8>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableElement*>(ptr)->border;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableElement::static_set_border(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 8>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 8>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableElement*>(ptr)->border = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableElement::static_get_cellPadding(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 9>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 9>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableElement*>(ptr)->cellPadding;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableElement::static_set_cellPadding(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 9>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 9>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableElement*>(ptr)->cellPadding = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableElement::static_get_cellSpacing(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 10>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 10>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableElement*>(ptr)->cellSpacing;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableElement::static_set_cellSpacing(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 10>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 10>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableElement*>(ptr)->cellSpacing = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableElement::static_get_frame(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 11>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 11>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableElement*>(ptr)->frame;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableElement::static_set_frame(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 11>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 11>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableElement*>(ptr)->frame = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableElement::static_get_rules(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 12>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 12>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableElement*>(ptr)->rules;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableElement::static_set_rules(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 12>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 12>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableElement*>(ptr)->rules = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableElement::static_get_summary(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 13>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 13>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableElement*>(ptr)->summary;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableElement::static_set_summary(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 13>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 13>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableElement*>(ptr)->summary = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableElement::static_get_width(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 14>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 14>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableElement*>(ptr)->width;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableElement::static_set_width(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 14>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableElement, 14>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableElement*>(ptr)->width = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLTableElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLTableElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    proto->Set(v8::String::New("createTHead"), v8::FunctionTemplate::New(js_html2_HTMLTableElement::static_createTHead));
    proto->Set(v8::String::New("deleteTHead"), v8::FunctionTemplate::New(js_html2_HTMLTableElement::static_deleteTHead));
    proto->Set(v8::String::New("createTFoot"), v8::FunctionTemplate::New(js_html2_HTMLTableElement::static_createTFoot));
    proto->Set(v8::String::New("deleteTFoot"), v8::FunctionTemplate::New(js_html2_HTMLTableElement::static_deleteTFoot));
    proto->Set(v8::String::New("createCaption"), v8::FunctionTemplate::New(js_html2_HTMLTableElement::static_createCaption));
    proto->Set(v8::String::New("deleteCaption"), v8::FunctionTemplate::New(js_html2_HTMLTableElement::static_deleteCaption));
    proto->Set(v8::String::New("insertRow"), v8::FunctionTemplate::New(js_html2_HTMLTableElement::static_insertRow));
    proto->Set(v8::String::New("deleteRow"), v8::FunctionTemplate::New(js_html2_HTMLTableElement::static_deleteRow));
    instance->SetAccessor(v8::String::New("caption"), js_html2_HTMLTableElement::static_get_caption, js_html2_HTMLTableElement::static_set_caption);
    instance->SetAccessor(v8::String::New("tHead"), js_html2_HTMLTableElement::static_get_tHead, js_html2_HTMLTableElement::static_set_tHead);
    instance->SetAccessor(v8::String::New("tFoot"), js_html2_HTMLTableElement::static_get_tFoot, js_html2_HTMLTableElement::static_set_tFoot);
    instance->SetAccessor(v8::String::New("rows"), js_html2_HTMLTableElement::static_get_rows, js_html2_HTMLTableElement::static_set_rows);
    instance->SetAccessor(v8::String::New("tBodies"), js_html2_HTMLTableElement::static_get_tBodies, js_html2_HTMLTableElement::static_set_tBodies);
    instance->SetAccessor(v8::String::New("align"), js_html2_HTMLTableElement::static_get_align, js_html2_HTMLTableElement::static_set_align);
    instance->SetAccessor(v8::String::New("bgColor"), js_html2_HTMLTableElement::static_get_bgColor, js_html2_HTMLTableElement::static_set_bgColor);
    instance->SetAccessor(v8::String::New("border"), js_html2_HTMLTableElement::static_get_border, js_html2_HTMLTableElement::static_set_border);
    instance->SetAccessor(v8::String::New("cellPadding"), js_html2_HTMLTableElement::static_get_cellPadding, js_html2_HTMLTableElement::static_set_cellPadding);
    instance->SetAccessor(v8::String::New("cellSpacing"), js_html2_HTMLTableElement::static_get_cellSpacing, js_html2_HTMLTableElement::static_set_cellSpacing);
    instance->SetAccessor(v8::String::New("frame"), js_html2_HTMLTableElement::static_get_frame, js_html2_HTMLTableElement::static_set_frame);
    instance->SetAccessor(v8::String::New("rules"), js_html2_HTMLTableElement::static_get_rules, js_html2_HTMLTableElement::static_set_rules);
    instance->SetAccessor(v8::String::New("summary"), js_html2_HTMLTableElement::static_get_summary, js_html2_HTMLTableElement::static_set_summary);
    instance->SetAccessor(v8::String::New("width"), js_html2_HTMLTableElement::static_get_width, js_html2_HTMLTableElement::static_set_width);

    v8_wrapper::Registrator< js_html2_HTMLTableElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLTableCaptionElement::static_get_align(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCaptionElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableCaptionElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableCaptionElement*>(ptr)->align;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableCaptionElement::static_set_align(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCaptionElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableCaptionElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableCaptionElement*>(ptr)->align = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLTableCaptionElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLTableCaptionElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("align"), js_html2_HTMLTableCaptionElement::static_get_align, js_html2_HTMLTableCaptionElement::static_set_align);

    v8_wrapper::Registrator< js_html2_HTMLTableCaptionElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLTableColElement::static_get_align(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableColElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableColElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableColElement*>(ptr)->align;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableColElement::static_set_align(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableColElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableColElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableColElement*>(ptr)->align = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableColElement::static_get_ch(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableColElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableColElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableColElement*>(ptr)->ch;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableColElement::static_set_ch(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableColElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableColElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableColElement*>(ptr)->ch = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableColElement::static_get_chOff(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableColElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableColElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableColElement*>(ptr)->chOff;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableColElement::static_set_chOff(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableColElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableColElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableColElement*>(ptr)->chOff = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableColElement::static_get_span(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableColElement, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableColElement, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long int value = dynamic_cast<js_html2_HTMLTableColElement*>(ptr)->span;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableColElement::static_set_span(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableColElement, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableColElement, 4>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableColElement*>(ptr)->span = v8_wrapper::Get< long int >(value);
}

Handle<Value> js_html2_HTMLTableColElement::static_get_vAlign(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableColElement, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableColElement, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableColElement*>(ptr)->vAlign;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableColElement::static_set_vAlign(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableColElement, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableColElement, 5>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableColElement*>(ptr)->vAlign = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableColElement::static_get_width(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableColElement, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableColElement, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableColElement*>(ptr)->width;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableColElement::static_set_width(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableColElement, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableColElement, 6>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableColElement*>(ptr)->width = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLTableColElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLTableColElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("align"), js_html2_HTMLTableColElement::static_get_align, js_html2_HTMLTableColElement::static_set_align);
    instance->SetAccessor(v8::String::New("ch"), js_html2_HTMLTableColElement::static_get_ch, js_html2_HTMLTableColElement::static_set_ch);
    instance->SetAccessor(v8::String::New("chOff"), js_html2_HTMLTableColElement::static_get_chOff, js_html2_HTMLTableColElement::static_set_chOff);
    instance->SetAccessor(v8::String::New("span"), js_html2_HTMLTableColElement::static_get_span, js_html2_HTMLTableColElement::static_set_span);
    instance->SetAccessor(v8::String::New("vAlign"), js_html2_HTMLTableColElement::static_get_vAlign, js_html2_HTMLTableColElement::static_set_vAlign);
    instance->SetAccessor(v8::String::New("width"), js_html2_HTMLTableColElement::static_get_width, js_html2_HTMLTableColElement::static_set_width);

    v8_wrapper::Registrator< js_html2_HTMLTableColElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_html2_HTMLTableSectionElement::static_insertRow(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    long int val_index = v8_wrapper::Get< long int > ( args[0] );
    js_html2_HTMLTableSectionElement * el = dynamic_cast<js_html2_HTMLTableSectionElement *>(ptr);
    retval = v8_wrapper::Set( el->insertRow(val_index) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_html2_HTMLTableSectionElement::static_deleteRow(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    long int val_index = v8_wrapper::Get< long int > ( args[0] );
    js_html2_HTMLTableSectionElement * el = dynamic_cast<js_html2_HTMLTableSectionElement *>(ptr);
    el->deleteRow(val_index);
    return scope.Close(retval);
}


Handle<Value> js_html2_HTMLTableSectionElement::static_get_align(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableSectionElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableSectionElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableSectionElement*>(ptr)->align;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableSectionElement::static_set_align(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableSectionElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableSectionElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableSectionElement*>(ptr)->align = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableSectionElement::static_get_ch(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableSectionElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableSectionElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableSectionElement*>(ptr)->ch;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableSectionElement::static_set_ch(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableSectionElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableSectionElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableSectionElement*>(ptr)->ch = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableSectionElement::static_get_chOff(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableSectionElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableSectionElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableSectionElement*>(ptr)->chOff;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableSectionElement::static_set_chOff(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableSectionElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableSectionElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableSectionElement*>(ptr)->chOff = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableSectionElement::static_get_vAlign(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableSectionElement, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableSectionElement, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableSectionElement*>(ptr)->vAlign;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableSectionElement::static_set_vAlign(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableSectionElement, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableSectionElement, 4>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableSectionElement*>(ptr)->vAlign = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableSectionElement::static_get_rows(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableSectionElement, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableSectionElement, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLTableSectionElement*>(ptr)->rows;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableSectionElement::static_set_rows(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableSectionElement, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableSectionElement, 5>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLTableSectionElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLTableSectionElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    proto->Set(v8::String::New("insertRow"), v8::FunctionTemplate::New(js_html2_HTMLTableSectionElement::static_insertRow));
    proto->Set(v8::String::New("deleteRow"), v8::FunctionTemplate::New(js_html2_HTMLTableSectionElement::static_deleteRow));
    instance->SetAccessor(v8::String::New("align"), js_html2_HTMLTableSectionElement::static_get_align, js_html2_HTMLTableSectionElement::static_set_align);
    instance->SetAccessor(v8::String::New("ch"), js_html2_HTMLTableSectionElement::static_get_ch, js_html2_HTMLTableSectionElement::static_set_ch);
    instance->SetAccessor(v8::String::New("chOff"), js_html2_HTMLTableSectionElement::static_get_chOff, js_html2_HTMLTableSectionElement::static_set_chOff);
    instance->SetAccessor(v8::String::New("vAlign"), js_html2_HTMLTableSectionElement::static_get_vAlign, js_html2_HTMLTableSectionElement::static_set_vAlign);
    instance->SetAccessor(v8::String::New("rows"), js_html2_HTMLTableSectionElement::static_get_rows, js_html2_HTMLTableSectionElement::static_set_rows);

    v8_wrapper::Registrator< js_html2_HTMLTableSectionElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_html2_HTMLTableRowElement::static_insertCell(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    long int val_index = v8_wrapper::Get< long int > ( args[0] );
    js_html2_HTMLTableRowElement * el = dynamic_cast<js_html2_HTMLTableRowElement *>(ptr);
    retval = v8_wrapper::Set( el->insertCell(val_index) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_html2_HTMLTableRowElement::static_deleteCell(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    long int val_index = v8_wrapper::Get< long int > ( args[0] );
    js_html2_HTMLTableRowElement * el = dynamic_cast<js_html2_HTMLTableRowElement *>(ptr);
    el->deleteCell(val_index);
    return scope.Close(retval);
}


Handle<Value> js_html2_HTMLTableRowElement::static_get_rowIndex(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const long int value = dynamic_cast<js_html2_HTMLTableRowElement*>(ptr)->rowIndex;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableRowElement::static_set_rowIndex(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLTableRowElement::static_get_sectionRowIndex(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const long int value = dynamic_cast<js_html2_HTMLTableRowElement*>(ptr)->sectionRowIndex;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableRowElement::static_set_sectionRowIndex(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 2>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLTableRowElement::static_get_cells(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLTableRowElement*>(ptr)->cells;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableRowElement::static_set_cells(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 3>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLTableRowElement::static_get_align(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableRowElement*>(ptr)->align;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableRowElement::static_set_align(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 4>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableRowElement*>(ptr)->align = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableRowElement::static_get_bgColor(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableRowElement*>(ptr)->bgColor;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableRowElement::static_set_bgColor(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 5>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableRowElement*>(ptr)->bgColor = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableRowElement::static_get_ch(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableRowElement*>(ptr)->ch;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableRowElement::static_set_ch(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 6>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableRowElement*>(ptr)->ch = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableRowElement::static_get_chOff(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 7>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 7>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableRowElement*>(ptr)->chOff;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableRowElement::static_set_chOff(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 7>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 7>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableRowElement*>(ptr)->chOff = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableRowElement::static_get_vAlign(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 8>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 8>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableRowElement*>(ptr)->vAlign;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableRowElement::static_set_vAlign(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 8>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableRowElement, 8>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableRowElement*>(ptr)->vAlign = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLTableRowElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLTableRowElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    proto->Set(v8::String::New("insertCell"), v8::FunctionTemplate::New(js_html2_HTMLTableRowElement::static_insertCell));
    proto->Set(v8::String::New("deleteCell"), v8::FunctionTemplate::New(js_html2_HTMLTableRowElement::static_deleteCell));
    instance->SetAccessor(v8::String::New("rowIndex"), js_html2_HTMLTableRowElement::static_get_rowIndex, js_html2_HTMLTableRowElement::static_set_rowIndex);
    instance->SetAccessor(v8::String::New("sectionRowIndex"), js_html2_HTMLTableRowElement::static_get_sectionRowIndex, js_html2_HTMLTableRowElement::static_set_sectionRowIndex);
    instance->SetAccessor(v8::String::New("cells"), js_html2_HTMLTableRowElement::static_get_cells, js_html2_HTMLTableRowElement::static_set_cells);
    instance->SetAccessor(v8::String::New("align"), js_html2_HTMLTableRowElement::static_get_align, js_html2_HTMLTableRowElement::static_set_align);
    instance->SetAccessor(v8::String::New("bgColor"), js_html2_HTMLTableRowElement::static_get_bgColor, js_html2_HTMLTableRowElement::static_set_bgColor);
    instance->SetAccessor(v8::String::New("ch"), js_html2_HTMLTableRowElement::static_get_ch, js_html2_HTMLTableRowElement::static_set_ch);
    instance->SetAccessor(v8::String::New("chOff"), js_html2_HTMLTableRowElement::static_get_chOff, js_html2_HTMLTableRowElement::static_set_chOff);
    instance->SetAccessor(v8::String::New("vAlign"), js_html2_HTMLTableRowElement::static_get_vAlign, js_html2_HTMLTableRowElement::static_set_vAlign);

    v8_wrapper::Registrator< js_html2_HTMLTableRowElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLTableCellElement::static_get_cellIndex(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const long int value = dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->cellIndex;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableCellElement::static_set_cellIndex(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_html2_HTMLTableCellElement::static_get_abbr(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->abbr;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableCellElement::static_set_abbr(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->abbr = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableCellElement::static_get_align(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->align;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableCellElement::static_set_align(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->align = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableCellElement::static_get_axis(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->axis;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableCellElement::static_set_axis(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 4>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->axis = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableCellElement::static_get_bgColor(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->bgColor;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableCellElement::static_set_bgColor(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 5>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->bgColor = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableCellElement::static_get_ch(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->ch;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableCellElement::static_set_ch(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 6>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->ch = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableCellElement::static_get_chOff(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 7>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 7>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->chOff;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableCellElement::static_set_chOff(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 7>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 7>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->chOff = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableCellElement::static_get_colSpan(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 8>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 8>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long int value = dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->colSpan;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableCellElement::static_set_colSpan(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 8>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 8>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->colSpan = v8_wrapper::Get< long int >(value);
}

Handle<Value> js_html2_HTMLTableCellElement::static_get_headers(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 9>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 9>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->headers;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableCellElement::static_set_headers(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 9>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 9>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->headers = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableCellElement::static_get_height(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 10>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 10>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->height;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableCellElement::static_set_height(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 10>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 10>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->height = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableCellElement::static_get_noWrap(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 11>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 11>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->noWrap;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableCellElement::static_set_noWrap(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 11>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 11>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->noWrap = v8_wrapper::Get< bool >(value);
}

Handle<Value> js_html2_HTMLTableCellElement::static_get_rowSpan(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 12>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 12>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    long int value = dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->rowSpan;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableCellElement::static_set_rowSpan(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 12>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 12>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->rowSpan = v8_wrapper::Get< long int >(value);
}

Handle<Value> js_html2_HTMLTableCellElement::static_get_scope(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 13>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 13>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->scope;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableCellElement::static_set_scope(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 13>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 13>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->scope = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableCellElement::static_get_vAlign(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 14>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 14>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->vAlign;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableCellElement::static_set_vAlign(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 14>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 14>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->vAlign = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLTableCellElement::static_get_width(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 15>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 15>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->width;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLTableCellElement::static_set_width(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 15>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLTableCellElement, 15>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLTableCellElement*>(ptr)->width = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLTableCellElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLTableCellElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("cellIndex"), js_html2_HTMLTableCellElement::static_get_cellIndex, js_html2_HTMLTableCellElement::static_set_cellIndex);
    instance->SetAccessor(v8::String::New("abbr"), js_html2_HTMLTableCellElement::static_get_abbr, js_html2_HTMLTableCellElement::static_set_abbr);
    instance->SetAccessor(v8::String::New("align"), js_html2_HTMLTableCellElement::static_get_align, js_html2_HTMLTableCellElement::static_set_align);
    instance->SetAccessor(v8::String::New("axis"), js_html2_HTMLTableCellElement::static_get_axis, js_html2_HTMLTableCellElement::static_set_axis);
    instance->SetAccessor(v8::String::New("bgColor"), js_html2_HTMLTableCellElement::static_get_bgColor, js_html2_HTMLTableCellElement::static_set_bgColor);
    instance->SetAccessor(v8::String::New("ch"), js_html2_HTMLTableCellElement::static_get_ch, js_html2_HTMLTableCellElement::static_set_ch);
    instance->SetAccessor(v8::String::New("chOff"), js_html2_HTMLTableCellElement::static_get_chOff, js_html2_HTMLTableCellElement::static_set_chOff);
    instance->SetAccessor(v8::String::New("colSpan"), js_html2_HTMLTableCellElement::static_get_colSpan, js_html2_HTMLTableCellElement::static_set_colSpan);
    instance->SetAccessor(v8::String::New("headers"), js_html2_HTMLTableCellElement::static_get_headers, js_html2_HTMLTableCellElement::static_set_headers);
    instance->SetAccessor(v8::String::New("height"), js_html2_HTMLTableCellElement::static_get_height, js_html2_HTMLTableCellElement::static_set_height);
    instance->SetAccessor(v8::String::New("noWrap"), js_html2_HTMLTableCellElement::static_get_noWrap, js_html2_HTMLTableCellElement::static_set_noWrap);
    instance->SetAccessor(v8::String::New("rowSpan"), js_html2_HTMLTableCellElement::static_get_rowSpan, js_html2_HTMLTableCellElement::static_set_rowSpan);
    instance->SetAccessor(v8::String::New("scope"), js_html2_HTMLTableCellElement::static_get_scope, js_html2_HTMLTableCellElement::static_set_scope);
    instance->SetAccessor(v8::String::New("vAlign"), js_html2_HTMLTableCellElement::static_get_vAlign, js_html2_HTMLTableCellElement::static_set_vAlign);
    instance->SetAccessor(v8::String::New("width"), js_html2_HTMLTableCellElement::static_get_width, js_html2_HTMLTableCellElement::static_set_width);

    v8_wrapper::Registrator< js_html2_HTMLTableCellElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLFrameSetElement::static_get_cols(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFrameSetElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLFrameSetElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLFrameSetElement*>(ptr)->cols;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLFrameSetElement::static_set_cols(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFrameSetElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLFrameSetElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLFrameSetElement*>(ptr)->cols = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLFrameSetElement::static_get_rows(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFrameSetElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLFrameSetElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLFrameSetElement*>(ptr)->rows;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLFrameSetElement::static_set_rows(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFrameSetElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLFrameSetElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLFrameSetElement*>(ptr)->rows = v8_wrapper::Get< html2::DOMString >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLFrameSetElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLFrameSetElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("cols"), js_html2_HTMLFrameSetElement::static_get_cols, js_html2_HTMLFrameSetElement::static_set_cols);
    instance->SetAccessor(v8::String::New("rows"), js_html2_HTMLFrameSetElement::static_get_rows, js_html2_HTMLFrameSetElement::static_set_rows);

    v8_wrapper::Registrator< js_html2_HTMLFrameSetElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLFrameElement::static_get_frameBorder(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLFrameElement*>(ptr)->frameBorder;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLFrameElement::static_set_frameBorder(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLFrameElement*>(ptr)->frameBorder = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLFrameElement::static_get_longDesc(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLFrameElement*>(ptr)->longDesc;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLFrameElement::static_set_longDesc(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLFrameElement*>(ptr)->longDesc = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLFrameElement::static_get_marginHeight(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLFrameElement*>(ptr)->marginHeight;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLFrameElement::static_set_marginHeight(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLFrameElement*>(ptr)->marginHeight = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLFrameElement::static_get_marginWidth(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLFrameElement*>(ptr)->marginWidth;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLFrameElement::static_set_marginWidth(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 4>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLFrameElement*>(ptr)->marginWidth = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLFrameElement::static_get_name(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLFrameElement*>(ptr)->name;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLFrameElement::static_set_name(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 5>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLFrameElement*>(ptr)->name = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLFrameElement::static_get_noResize(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    bool value = dynamic_cast<js_html2_HTMLFrameElement*>(ptr)->noResize;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLFrameElement::static_set_noResize(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 6>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLFrameElement*>(ptr)->noResize = v8_wrapper::Get< bool >(value);
}

Handle<Value> js_html2_HTMLFrameElement::static_get_scrolling(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 7>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 7>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLFrameElement*>(ptr)->scrolling;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLFrameElement::static_set_scrolling(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 7>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 7>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLFrameElement*>(ptr)->scrolling = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLFrameElement::static_get_src(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 8>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 8>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLFrameElement*>(ptr)->src;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLFrameElement::static_set_src(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 8>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 8>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLFrameElement*>(ptr)->src = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLFrameElement::static_get_contentDocument(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 9>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 9>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLFrameElement*>(ptr)->contentDocument;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLFrameElement::static_set_contentDocument(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 9>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLFrameElement, 9>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLFrameElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLFrameElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("frameBorder"), js_html2_HTMLFrameElement::static_get_frameBorder, js_html2_HTMLFrameElement::static_set_frameBorder);
    instance->SetAccessor(v8::String::New("longDesc"), js_html2_HTMLFrameElement::static_get_longDesc, js_html2_HTMLFrameElement::static_set_longDesc);
    instance->SetAccessor(v8::String::New("marginHeight"), js_html2_HTMLFrameElement::static_get_marginHeight, js_html2_HTMLFrameElement::static_set_marginHeight);
    instance->SetAccessor(v8::String::New("marginWidth"), js_html2_HTMLFrameElement::static_get_marginWidth, js_html2_HTMLFrameElement::static_set_marginWidth);
    instance->SetAccessor(v8::String::New("name"), js_html2_HTMLFrameElement::static_get_name, js_html2_HTMLFrameElement::static_set_name);
    instance->SetAccessor(v8::String::New("noResize"), js_html2_HTMLFrameElement::static_get_noResize, js_html2_HTMLFrameElement::static_set_noResize);
    instance->SetAccessor(v8::String::New("scrolling"), js_html2_HTMLFrameElement::static_get_scrolling, js_html2_HTMLFrameElement::static_set_scrolling);
    instance->SetAccessor(v8::String::New("src"), js_html2_HTMLFrameElement::static_get_src, js_html2_HTMLFrameElement::static_set_src);
    instance->SetAccessor(v8::String::New("contentDocument"), js_html2_HTMLFrameElement::static_get_contentDocument, js_html2_HTMLFrameElement::static_set_contentDocument);

    v8_wrapper::Registrator< js_html2_HTMLFrameElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_html2_HTMLIFrameElement::static_get_align(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLIFrameElement*>(ptr)->align;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLIFrameElement::static_set_align(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLIFrameElement*>(ptr)->align = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLIFrameElement::static_get_frameBorder(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLIFrameElement*>(ptr)->frameBorder;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLIFrameElement::static_set_frameBorder(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 2>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLIFrameElement*>(ptr)->frameBorder = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLIFrameElement::static_get_height(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLIFrameElement*>(ptr)->height;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLIFrameElement::static_set_height(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 3>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLIFrameElement*>(ptr)->height = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLIFrameElement::static_get_longDesc(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLIFrameElement*>(ptr)->longDesc;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLIFrameElement::static_set_longDesc(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 4>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLIFrameElement*>(ptr)->longDesc = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLIFrameElement::static_get_marginHeight(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLIFrameElement*>(ptr)->marginHeight;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLIFrameElement::static_set_marginHeight(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 5>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLIFrameElement*>(ptr)->marginHeight = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLIFrameElement::static_get_marginWidth(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLIFrameElement*>(ptr)->marginWidth;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLIFrameElement::static_set_marginWidth(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 6>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLIFrameElement*>(ptr)->marginWidth = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLIFrameElement::static_get_name(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 7>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 7>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLIFrameElement*>(ptr)->name;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLIFrameElement::static_set_name(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 7>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 7>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLIFrameElement*>(ptr)->name = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLIFrameElement::static_get_scrolling(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 8>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 8>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLIFrameElement*>(ptr)->scrolling;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLIFrameElement::static_set_scrolling(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 8>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 8>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLIFrameElement*>(ptr)->scrolling = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLIFrameElement::static_get_src(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 9>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 9>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLIFrameElement*>(ptr)->src;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLIFrameElement::static_set_src(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 9>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 9>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLIFrameElement*>(ptr)->src = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLIFrameElement::static_get_width(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 10>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 10>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    html2::DOMString value = dynamic_cast<js_html2_HTMLIFrameElement*>(ptr)->width;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLIFrameElement::static_set_width(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 10>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 10>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_html2_HTMLIFrameElement*>(ptr)->width = v8_wrapper::Get< html2::DOMString >(value);
}

Handle<Value> js_html2_HTMLIFrameElement::static_get_contentDocument(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 11>::implemented) {
        return v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 11>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_html2_HTMLIFrameElement*>(ptr)->contentDocument;
    return v8_wrapper::Set(value);
}

void js_html2_HTMLIFrameElement::static_set_contentDocument(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 11>::implemented) {
        v8_wrapper::CustomAttribute<js_html2_HTMLIFrameElement, 11>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_html2_HTMLIFrameElement >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("html2::HTMLIFrameElement"));
    result->Inherit(v8_wrapper::Registrator< js_html2_HTMLElement >::GetTemplate());
    instance->SetAccessor(v8::String::New("align"), js_html2_HTMLIFrameElement::static_get_align, js_html2_HTMLIFrameElement::static_set_align);
    instance->SetAccessor(v8::String::New("frameBorder"), js_html2_HTMLIFrameElement::static_get_frameBorder, js_html2_HTMLIFrameElement::static_set_frameBorder);
    instance->SetAccessor(v8::String::New("height"), js_html2_HTMLIFrameElement::static_get_height, js_html2_HTMLIFrameElement::static_set_height);
    instance->SetAccessor(v8::String::New("longDesc"), js_html2_HTMLIFrameElement::static_get_longDesc, js_html2_HTMLIFrameElement::static_set_longDesc);
    instance->SetAccessor(v8::String::New("marginHeight"), js_html2_HTMLIFrameElement::static_get_marginHeight, js_html2_HTMLIFrameElement::static_set_marginHeight);
    instance->SetAccessor(v8::String::New("marginWidth"), js_html2_HTMLIFrameElement::static_get_marginWidth, js_html2_HTMLIFrameElement::static_set_marginWidth);
    instance->SetAccessor(v8::String::New("name"), js_html2_HTMLIFrameElement::static_get_name, js_html2_HTMLIFrameElement::static_set_name);
    instance->SetAccessor(v8::String::New("scrolling"), js_html2_HTMLIFrameElement::static_get_scrolling, js_html2_HTMLIFrameElement::static_set_scrolling);
    instance->SetAccessor(v8::String::New("src"), js_html2_HTMLIFrameElement::static_get_src, js_html2_HTMLIFrameElement::static_set_src);
    instance->SetAccessor(v8::String::New("width"), js_html2_HTMLIFrameElement::static_get_width, js_html2_HTMLIFrameElement::static_set_width);
    instance->SetAccessor(v8::String::New("contentDocument"), js_html2_HTMLIFrameElement::static_get_contentDocument, js_html2_HTMLIFrameElement::static_set_contentDocument);

    v8_wrapper::Registrator< js_html2_HTMLIFrameElement >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


Handle<Value> js_ranges_RangeException::static_get_code(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_ranges_RangeException, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_ranges_RangeException, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    short unsigned int value = dynamic_cast<js_ranges_RangeException*>(ptr)->code;
    return v8_wrapper::Set(value);
}

void js_ranges_RangeException::static_set_code(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_ranges_RangeException, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_ranges_RangeException, 1>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_ranges_RangeException*>(ptr)->code = v8_wrapper::Get< short unsigned int >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_ranges_RangeException >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("ranges::RangeException"));
    instance->SetAccessor(v8::String::New("code"), js_ranges_RangeException::static_get_code, js_ranges_RangeException::static_set_code);

    v8_wrapper::Registrator< js_ranges_RangeException >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_ranges_Range::static_setStart(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_refNode = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    long int val_offset = v8_wrapper::Get< long int > ( args[1] );
    js_ranges_Range * el = dynamic_cast<js_ranges_Range *>(ptr);
    el->setStart(val_refNode, val_offset);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_ranges_Range::static_setEnd(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_refNode = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    long int val_offset = v8_wrapper::Get< long int > ( args[1] );
    js_ranges_Range * el = dynamic_cast<js_ranges_Range *>(ptr);
    el->setEnd(val_refNode, val_offset);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_ranges_Range::static_setStartBefore(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_refNode = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    js_ranges_Range * el = dynamic_cast<js_ranges_Range *>(ptr);
    el->setStartBefore(val_refNode);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_ranges_Range::static_setStartAfter(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_refNode = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    js_ranges_Range * el = dynamic_cast<js_ranges_Range *>(ptr);
    el->setStartAfter(val_refNode);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_ranges_Range::static_setEndBefore(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_refNode = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    js_ranges_Range * el = dynamic_cast<js_ranges_Range *>(ptr);
    el->setEndBefore(val_refNode);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_ranges_Range::static_setEndAfter(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_refNode = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    js_ranges_Range * el = dynamic_cast<js_ranges_Range *>(ptr);
    el->setEndAfter(val_refNode);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_ranges_Range::static_collapse(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    bool val_toStart = v8_wrapper::Get< bool > ( args[0] );
    js_ranges_Range * el = dynamic_cast<js_ranges_Range *>(ptr);
    el->collapse(val_toStart);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_ranges_Range::static_selectNode(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_refNode = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    js_ranges_Range * el = dynamic_cast<js_ranges_Range *>(ptr);
    el->selectNode(val_refNode);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_ranges_Range::static_selectNodeContents(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_refNode = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    js_ranges_Range * el = dynamic_cast<js_ranges_Range *>(ptr);
    el->selectNodeContents(val_refNode);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_ranges_Range::static_compareBoundaryPoints(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    short unsigned int val_how = v8_wrapper::Get< short unsigned int > ( args[0] );
    v8::Handle<v8::Value> val_sourceRange = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[1] );
    js_ranges_Range * el = dynamic_cast<js_ranges_Range *>(ptr);
    retval = v8_wrapper::Set( el->compareBoundaryPoints(val_how, val_sourceRange) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_ranges_Range::static_deleteContents(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_ranges_Range * el = dynamic_cast<js_ranges_Range *>(ptr);
    el->deleteContents();
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_ranges_Range::static_extractContents(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_ranges_Range * el = dynamic_cast<js_ranges_Range *>(ptr);
    retval = v8_wrapper::Set( el->extractContents() );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_ranges_Range::static_cloneContents(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_ranges_Range * el = dynamic_cast<js_ranges_Range *>(ptr);
    retval = v8_wrapper::Set( el->cloneContents() );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_ranges_Range::static_insertNode(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_newNode = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    js_ranges_Range * el = dynamic_cast<js_ranges_Range *>(ptr);
    el->insertNode(val_newNode);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_ranges_Range::static_surroundContents(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_newParent = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    js_ranges_Range * el = dynamic_cast<js_ranges_Range *>(ptr);
    el->surroundContents(val_newParent);
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_ranges_Range::static_cloneRange(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_ranges_Range * el = dynamic_cast<js_ranges_Range *>(ptr);
    retval = v8_wrapper::Set( el->cloneRange() );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_ranges_Range::static_toString(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_ranges_Range * el = dynamic_cast<js_ranges_Range *>(ptr);
    retval = v8_wrapper::Set( el->toString() );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_ranges_Range::static_detach(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_ranges_Range * el = dynamic_cast<js_ranges_Range *>(ptr);
    el->detach();
    return scope.Close(retval);
}


Handle<Value> js_ranges_Range::static_get_startContainer(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_ranges_Range, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_ranges_Range, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_ranges_Range*>(ptr)->startContainer;
    return v8_wrapper::Set(value);
}

void js_ranges_Range::static_set_startContainer(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_ranges_Range, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_ranges_Range, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_ranges_Range::static_get_startOffset(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_ranges_Range, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_ranges_Range, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const long int value = dynamic_cast<js_ranges_Range*>(ptr)->startOffset;
    return v8_wrapper::Set(value);
}

void js_ranges_Range::static_set_startOffset(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_ranges_Range, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_ranges_Range, 2>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_ranges_Range::static_get_endContainer(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_ranges_Range, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_ranges_Range, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_ranges_Range*>(ptr)->endContainer;
    return v8_wrapper::Set(value);
}

void js_ranges_Range::static_set_endContainer(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_ranges_Range, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_ranges_Range, 3>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_ranges_Range::static_get_endOffset(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_ranges_Range, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_ranges_Range, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const long int value = dynamic_cast<js_ranges_Range*>(ptr)->endOffset;
    return v8_wrapper::Set(value);
}

void js_ranges_Range::static_set_endOffset(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_ranges_Range, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_ranges_Range, 4>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_ranges_Range::static_get_collapsed(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_ranges_Range, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_ranges_Range, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const bool value = dynamic_cast<js_ranges_Range*>(ptr)->collapsed;
    return v8_wrapper::Set(value);
}

void js_ranges_Range::static_set_collapsed(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_ranges_Range, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_ranges_Range, 5>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_ranges_Range::static_get_commonAncestorContainer(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_ranges_Range, 6>::implemented) {
        return v8_wrapper::CustomAttribute<js_ranges_Range, 6>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_ranges_Range*>(ptr)->commonAncestorContainer;
    return v8_wrapper::Set(value);
}

void js_ranges_Range::static_set_commonAncestorContainer(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_ranges_Range, 6>::implemented) {
        v8_wrapper::CustomAttribute<js_ranges_Range, 6>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_ranges_Range >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("ranges::Range"));
    proto->Set(v8::String::New("setStart"), v8::FunctionTemplate::New(js_ranges_Range::static_setStart));
    proto->Set(v8::String::New("setEnd"), v8::FunctionTemplate::New(js_ranges_Range::static_setEnd));
    proto->Set(v8::String::New("setStartBefore"), v8::FunctionTemplate::New(js_ranges_Range::static_setStartBefore));
    proto->Set(v8::String::New("setStartAfter"), v8::FunctionTemplate::New(js_ranges_Range::static_setStartAfter));
    proto->Set(v8::String::New("setEndBefore"), v8::FunctionTemplate::New(js_ranges_Range::static_setEndBefore));
    proto->Set(v8::String::New("setEndAfter"), v8::FunctionTemplate::New(js_ranges_Range::static_setEndAfter));
    proto->Set(v8::String::New("collapse"), v8::FunctionTemplate::New(js_ranges_Range::static_collapse));
    proto->Set(v8::String::New("selectNode"), v8::FunctionTemplate::New(js_ranges_Range::static_selectNode));
    proto->Set(v8::String::New("selectNodeContents"), v8::FunctionTemplate::New(js_ranges_Range::static_selectNodeContents));
    proto->Set(v8::String::New("compareBoundaryPoints"), v8::FunctionTemplate::New(js_ranges_Range::static_compareBoundaryPoints));
    proto->Set(v8::String::New("deleteContents"), v8::FunctionTemplate::New(js_ranges_Range::static_deleteContents));
    proto->Set(v8::String::New("extractContents"), v8::FunctionTemplate::New(js_ranges_Range::static_extractContents));
    proto->Set(v8::String::New("cloneContents"), v8::FunctionTemplate::New(js_ranges_Range::static_cloneContents));
    proto->Set(v8::String::New("insertNode"), v8::FunctionTemplate::New(js_ranges_Range::static_insertNode));
    proto->Set(v8::String::New("surroundContents"), v8::FunctionTemplate::New(js_ranges_Range::static_surroundContents));
    proto->Set(v8::String::New("cloneRange"), v8::FunctionTemplate::New(js_ranges_Range::static_cloneRange));
    proto->Set(v8::String::New("toString"), v8::FunctionTemplate::New(js_ranges_Range::static_toString));
    proto->Set(v8::String::New("detach"), v8::FunctionTemplate::New(js_ranges_Range::static_detach));
    instance->SetAccessor(v8::String::New("startContainer"), js_ranges_Range::static_get_startContainer, js_ranges_Range::static_set_startContainer);
    instance->SetAccessor(v8::String::New("startOffset"), js_ranges_Range::static_get_startOffset, js_ranges_Range::static_set_startOffset);
    instance->SetAccessor(v8::String::New("endContainer"), js_ranges_Range::static_get_endContainer, js_ranges_Range::static_set_endContainer);
    instance->SetAccessor(v8::String::New("endOffset"), js_ranges_Range::static_get_endOffset, js_ranges_Range::static_set_endOffset);
    instance->SetAccessor(v8::String::New("collapsed"), js_ranges_Range::static_get_collapsed, js_ranges_Range::static_set_collapsed);
    instance->SetAccessor(v8::String::New("commonAncestorContainer"), js_ranges_Range::static_get_commonAncestorContainer, js_ranges_Range::static_set_commonAncestorContainer);

    v8_wrapper::Registrator< js_ranges_Range >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_ranges_DocumentRange::static_createRange(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_ranges_DocumentRange * el = dynamic_cast<js_ranges_DocumentRange *>(ptr);
    retval = v8_wrapper::Set( el->createRange() );
    return scope.Close(retval);
}


namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_ranges_DocumentRange >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("ranges::DocumentRange"));
    proto->Set(v8::String::New("createRange"), v8::FunctionTemplate::New(js_ranges_DocumentRange::static_createRange));
    v8_wrapper::Registrator< js_ranges_DocumentRange >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_traversal_NodeIterator::static_nextNode(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_traversal_NodeIterator * el = dynamic_cast<js_traversal_NodeIterator *>(ptr);
    retval = v8_wrapper::Set( el->nextNode() );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_traversal_NodeIterator::static_previousNode(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_traversal_NodeIterator * el = dynamic_cast<js_traversal_NodeIterator *>(ptr);
    retval = v8_wrapper::Set( el->previousNode() );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_traversal_NodeIterator::static_detach(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_traversal_NodeIterator * el = dynamic_cast<js_traversal_NodeIterator *>(ptr);
    el->detach();
    return scope.Close(retval);
}


Handle<Value> js_traversal_NodeIterator::static_get_root(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_traversal_NodeIterator, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_traversal_NodeIterator, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_traversal_NodeIterator*>(ptr)->root;
    return v8_wrapper::Set(value);
}

void js_traversal_NodeIterator::static_set_root(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_traversal_NodeIterator, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_traversal_NodeIterator, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_traversal_NodeIterator::static_get_whatToShow(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_traversal_NodeIterator, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_traversal_NodeIterator, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const long unsigned int value = dynamic_cast<js_traversal_NodeIterator*>(ptr)->whatToShow;
    return v8_wrapper::Set(value);
}

void js_traversal_NodeIterator::static_set_whatToShow(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_traversal_NodeIterator, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_traversal_NodeIterator, 2>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_traversal_NodeIterator::static_get_filter(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_traversal_NodeIterator, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_traversal_NodeIterator, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_traversal_NodeIterator*>(ptr)->filter;
    return v8_wrapper::Set(value);
}

void js_traversal_NodeIterator::static_set_filter(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_traversal_NodeIterator, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_traversal_NodeIterator, 3>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_traversal_NodeIterator::static_get_expandEntityReferences(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_traversal_NodeIterator, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_traversal_NodeIterator, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const bool value = dynamic_cast<js_traversal_NodeIterator*>(ptr)->expandEntityReferences;
    return v8_wrapper::Set(value);
}

void js_traversal_NodeIterator::static_set_expandEntityReferences(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_traversal_NodeIterator, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_traversal_NodeIterator, 4>::static_set(property, value, info);
        return;
    }
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_traversal_NodeIterator >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("traversal::NodeIterator"));
    proto->Set(v8::String::New("nextNode"), v8::FunctionTemplate::New(js_traversal_NodeIterator::static_nextNode));
    proto->Set(v8::String::New("previousNode"), v8::FunctionTemplate::New(js_traversal_NodeIterator::static_previousNode));
    proto->Set(v8::String::New("detach"), v8::FunctionTemplate::New(js_traversal_NodeIterator::static_detach));
    instance->SetAccessor(v8::String::New("root"), js_traversal_NodeIterator::static_get_root, js_traversal_NodeIterator::static_set_root);
    instance->SetAccessor(v8::String::New("whatToShow"), js_traversal_NodeIterator::static_get_whatToShow, js_traversal_NodeIterator::static_set_whatToShow);
    instance->SetAccessor(v8::String::New("filter"), js_traversal_NodeIterator::static_get_filter, js_traversal_NodeIterator::static_set_filter);
    instance->SetAccessor(v8::String::New("expandEntityReferences"), js_traversal_NodeIterator::static_get_expandEntityReferences, js_traversal_NodeIterator::static_set_expandEntityReferences);

    v8_wrapper::Registrator< js_traversal_NodeIterator >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_traversal_NodeFilter::static_acceptNode(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_n = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    js_traversal_NodeFilter * el = dynamic_cast<js_traversal_NodeFilter *>(ptr);
    retval = v8_wrapper::Set( el->acceptNode(val_n) );
    return scope.Close(retval);
}


namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_traversal_NodeFilter >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("traversal::NodeFilter"));
    proto->Set(v8::String::New("acceptNode"), v8::FunctionTemplate::New(js_traversal_NodeFilter::static_acceptNode));
    v8_wrapper::Registrator< js_traversal_NodeFilter >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_traversal_TreeWalker::static_parentNode(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_traversal_TreeWalker * el = dynamic_cast<js_traversal_TreeWalker *>(ptr);
    retval = v8_wrapper::Set( el->parentNode() );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_traversal_TreeWalker::static_firstChild(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_traversal_TreeWalker * el = dynamic_cast<js_traversal_TreeWalker *>(ptr);
    retval = v8_wrapper::Set( el->firstChild() );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_traversal_TreeWalker::static_lastChild(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_traversal_TreeWalker * el = dynamic_cast<js_traversal_TreeWalker *>(ptr);
    retval = v8_wrapper::Set( el->lastChild() );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_traversal_TreeWalker::static_previousSibling(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_traversal_TreeWalker * el = dynamic_cast<js_traversal_TreeWalker *>(ptr);
    retval = v8_wrapper::Set( el->previousSibling() );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_traversal_TreeWalker::static_nextSibling(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_traversal_TreeWalker * el = dynamic_cast<js_traversal_TreeWalker *>(ptr);
    retval = v8_wrapper::Set( el->nextSibling() );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_traversal_TreeWalker::static_previousNode(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_traversal_TreeWalker * el = dynamic_cast<js_traversal_TreeWalker *>(ptr);
    retval = v8_wrapper::Set( el->previousNode() );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_traversal_TreeWalker::static_nextNode(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    js_traversal_TreeWalker * el = dynamic_cast<js_traversal_TreeWalker *>(ptr);
    retval = v8_wrapper::Set( el->nextNode() );
    return scope.Close(retval);
}


Handle<Value> js_traversal_TreeWalker::static_get_root(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_traversal_TreeWalker, 1>::implemented) {
        return v8_wrapper::CustomAttribute<js_traversal_TreeWalker, 1>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_traversal_TreeWalker*>(ptr)->root;
    return v8_wrapper::Set(value);
}

void js_traversal_TreeWalker::static_set_root(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_traversal_TreeWalker, 1>::implemented) {
        v8_wrapper::CustomAttribute<js_traversal_TreeWalker, 1>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_traversal_TreeWalker::static_get_whatToShow(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_traversal_TreeWalker, 2>::implemented) {
        return v8_wrapper::CustomAttribute<js_traversal_TreeWalker, 2>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const long unsigned int value = dynamic_cast<js_traversal_TreeWalker*>(ptr)->whatToShow;
    return v8_wrapper::Set(value);
}

void js_traversal_TreeWalker::static_set_whatToShow(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_traversal_TreeWalker, 2>::implemented) {
        v8_wrapper::CustomAttribute<js_traversal_TreeWalker, 2>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_traversal_TreeWalker::static_get_filter(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_traversal_TreeWalker, 3>::implemented) {
        return v8_wrapper::CustomAttribute<js_traversal_TreeWalker, 3>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const v8::Handle<v8::Value> value = dynamic_cast<js_traversal_TreeWalker*>(ptr)->filter;
    return v8_wrapper::Set(value);
}

void js_traversal_TreeWalker::static_set_filter(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_traversal_TreeWalker, 3>::implemented) {
        v8_wrapper::CustomAttribute<js_traversal_TreeWalker, 3>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_traversal_TreeWalker::static_get_expandEntityReferences(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_traversal_TreeWalker, 4>::implemented) {
        return v8_wrapper::CustomAttribute<js_traversal_TreeWalker, 4>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    const bool value = dynamic_cast<js_traversal_TreeWalker*>(ptr)->expandEntityReferences;
    return v8_wrapper::Set(value);
}

void js_traversal_TreeWalker::static_set_expandEntityReferences(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_traversal_TreeWalker, 4>::implemented) {
        v8_wrapper::CustomAttribute<js_traversal_TreeWalker, 4>::static_set(property, value, info);
        return;
    }
}

Handle<Value> js_traversal_TreeWalker::static_get_currentNode(Local<String> property, const AccessorInfo &info)
{
    if(v8_wrapper::CustomAttribute<js_traversal_TreeWalker, 5>::implemented) {
        return v8_wrapper::CustomAttribute<js_traversal_TreeWalker, 5>::static_get(property, info);
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" getter ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> value = dynamic_cast<js_traversal_TreeWalker*>(ptr)->currentNode;
    return v8_wrapper::Set(value);
}

void js_traversal_TreeWalker::static_set_currentNode(Local<String> property, Local<Value> value,
        const AccessorInfo& info)
{
    if(v8_wrapper::CustomAttribute<js_traversal_TreeWalker, 5>::implemented) {
        v8_wrapper::CustomAttribute<js_traversal_TreeWalker, 5>::static_set(property, value, info);
        return;
    }
    Local<Object> self = info.Holder();
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" setter ") << std::string(__FUNCTION__) );
    dynamic_cast<js_traversal_TreeWalker*>(ptr)->currentNode = v8_wrapper::Get< v8::Handle<v8::Value> >(value);
}

namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_traversal_TreeWalker >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("traversal::TreeWalker"));
    proto->Set(v8::String::New("parentNode"), v8::FunctionTemplate::New(js_traversal_TreeWalker::static_parentNode));
    proto->Set(v8::String::New("firstChild"), v8::FunctionTemplate::New(js_traversal_TreeWalker::static_firstChild));
    proto->Set(v8::String::New("lastChild"), v8::FunctionTemplate::New(js_traversal_TreeWalker::static_lastChild));
    proto->Set(v8::String::New("previousSibling"), v8::FunctionTemplate::New(js_traversal_TreeWalker::static_previousSibling));
    proto->Set(v8::String::New("nextSibling"), v8::FunctionTemplate::New(js_traversal_TreeWalker::static_nextSibling));
    proto->Set(v8::String::New("previousNode"), v8::FunctionTemplate::New(js_traversal_TreeWalker::static_previousNode));
    proto->Set(v8::String::New("nextNode"), v8::FunctionTemplate::New(js_traversal_TreeWalker::static_nextNode));
    instance->SetAccessor(v8::String::New("root"), js_traversal_TreeWalker::static_get_root, js_traversal_TreeWalker::static_set_root);
    instance->SetAccessor(v8::String::New("whatToShow"), js_traversal_TreeWalker::static_get_whatToShow, js_traversal_TreeWalker::static_set_whatToShow);
    instance->SetAccessor(v8::String::New("filter"), js_traversal_TreeWalker::static_get_filter, js_traversal_TreeWalker::static_set_filter);
    instance->SetAccessor(v8::String::New("expandEntityReferences"), js_traversal_TreeWalker::static_get_expandEntityReferences, js_traversal_TreeWalker::static_set_expandEntityReferences);
    instance->SetAccessor(v8::String::New("currentNode"), js_traversal_TreeWalker::static_get_currentNode, js_traversal_TreeWalker::static_set_currentNode);

    v8_wrapper::Registrator< js_traversal_TreeWalker >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}

v8::Handle<v8::Value> js_traversal_DocumentTraversal::static_createNodeIterator(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_root = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    long unsigned int val_whatToShow = v8_wrapper::Get< long unsigned int > ( args[1] );
    v8::Handle<v8::Value> val_filter = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[2] );
    bool val_entityReferenceExpansion = v8_wrapper::Get< bool > ( args[3] );
    js_traversal_DocumentTraversal * el = dynamic_cast<js_traversal_DocumentTraversal *>(ptr);
    retval = v8_wrapper::Set( el->createNodeIterator(val_root, val_whatToShow, val_filter, val_entityReferenceExpansion) );
    return scope.Close(retval);
}

v8::Handle<v8::Value> js_traversal_DocumentTraversal::static_createTreeWalker(const v8::Arguments& args)
{
    HandleScope scope;
    Local<Object> self = args.This();
    Handle<Value> retval;
    Local<External> wrap = Local<External>::Cast(self->GetInternalField(0));
    v8_wrapper::tree_node* ptr = static_cast<v8_wrapper::tree_node*>(wrap->Value());
    LOG4CXX_TRACE(webEngine::iLogger::GetLogger(), _T("v8 JavaScript binded call 0x") << std::hex << (size_t)ptr << _T(" method ") << std::string(__FUNCTION__) );
    v8::Handle<v8::Value> val_root = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[0] );
    long unsigned int val_whatToShow = v8_wrapper::Get< long unsigned int > ( args[1] );
    v8::Handle<v8::Value> val_filter = v8_wrapper::Get< v8::Handle<v8::Value> > ( args[2] );
    bool val_entityReferenceExpansion = v8_wrapper::Get< bool > ( args[3] );
    js_traversal_DocumentTraversal * el = dynamic_cast<js_traversal_DocumentTraversal *>(ptr);
    retval = v8_wrapper::Set( el->createTreeWalker(val_root, val_whatToShow, val_filter, val_entityReferenceExpansion) );
    return scope.Close(retval);
}


namespace v8_wrapper {
template <>
v8::Persistent<v8::FunctionTemplate> Registrator< js_traversal_DocumentTraversal >::GetTemplate()
{
    static v8::Persistent<v8::FunctionTemplate> cachedTemplate;
    if (!cachedTemplate.IsEmpty())
        return cachedTemplate;

    v8::HandleScope scope;
    v8::Local<v8::FunctionTemplate> result = v8::FunctionTemplate::New();

    v8::Local<v8::ObjectTemplate> instance = result->InstanceTemplate();
    v8::Local<v8::ObjectTemplate> proto = result->PrototypeTemplate();
    instance->SetInternalFieldCount(1);
    result->SetClassName(v8::String::New("traversal::DocumentTraversal"));
    proto->Set(v8::String::New("createNodeIterator"), v8::FunctionTemplate::New(js_traversal_DocumentTraversal::static_createNodeIterator));
    proto->Set(v8::String::New("createTreeWalker"), v8::FunctionTemplate::New(js_traversal_DocumentTraversal::static_createTreeWalker));
    v8_wrapper::Registrator< js_traversal_DocumentTraversal >::AdditionalHandlersGetTemplate(instance, proto);
    cachedTemplate = v8::Persistent<v8::FunctionTemplate>::New(result);
    return cachedTemplate;
}
}


void v8_wrapper::RegisterAll(v8::Persistent<v8::ObjectTemplate> global)
{
    global->Set(String::New("DOMException"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_dom_DOMException >::Constructor));
    global->Set(String::New("DOMImplementation"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_dom_DOMImplementation >::Constructor));
    global->Set(String::New("Node"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_dom_Node >::Constructor));
    global->Set(String::New("NodeList"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_dom_NodeList >::Constructor));
    global->Set(String::New("NamedNodeMap"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_dom_NamedNodeMap >::Constructor));
    global->Set(String::New("CharacterData"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_dom_CharacterData >::Constructor));
    global->Set(String::New("Attr"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_dom_Attr >::Constructor));
    global->Set(String::New("Element"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_dom_Element >::Constructor));
    global->Set(String::New("Text"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_dom_Text >::Constructor));
    global->Set(String::New("Comment"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_dom_Comment >::Constructor));
    global->Set(String::New("CDATASection"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_dom_CDATASection >::Constructor));
    global->Set(String::New("DocumentType"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_dom_DocumentType >::Constructor));
    global->Set(String::New("Notation"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_dom_Notation >::Constructor));
    global->Set(String::New("Entity"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_dom_Entity >::Constructor));
    global->Set(String::New("EntityReference"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_dom_EntityReference >::Constructor));
    global->Set(String::New("ProcessingInstruction"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_dom_ProcessingInstruction >::Constructor));
    global->Set(String::New("DocumentFragment"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_dom_DocumentFragment >::Constructor));
    global->Set(String::New("Document"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_dom_Document >::Constructor));
    global->Set(String::New("StyleSheet"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_stylesheets_StyleSheet >::Constructor));
    global->Set(String::New("StyleSheetList"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_stylesheets_StyleSheetList >::Constructor));
    global->Set(String::New("MediaList"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_stylesheets_MediaList >::Constructor));
    global->Set(String::New("LinkStyle"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_stylesheets_LinkStyle >::Constructor));
    global->Set(String::New("DocumentStyle"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_stylesheets_DocumentStyle >::Constructor));
    global->Set(String::New("AbstractView"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_views_AbstractView >::Constructor));
    global->Set(String::New("DocumentView"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_views_DocumentView >::Constructor));
    global->Set(String::New("CSSRuleList"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_css_CSSRuleList >::Constructor));
    global->Set(String::New("CSSRule"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_css_CSSRule >::Constructor));
    global->Set(String::New("CSSStyleRule"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_css_CSSStyleRule >::Constructor));
    global->Set(String::New("CSSMediaRule"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_css_CSSMediaRule >::Constructor));
    global->Set(String::New("CSSFontFaceRule"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_css_CSSFontFaceRule >::Constructor));
    global->Set(String::New("CSSPageRule"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_css_CSSPageRule >::Constructor));
    global->Set(String::New("CSSImportRule"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_css_CSSImportRule >::Constructor));
    global->Set(String::New("CSSCharsetRule"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_css_CSSCharsetRule >::Constructor));
    global->Set(String::New("CSSUnknownRule"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_css_CSSUnknownRule >::Constructor));
    global->Set(String::New("CSSStyleDeclaration"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_css_CSSStyleDeclaration >::Constructor));
    global->Set(String::New("CSSValue"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_css_CSSValue >::Constructor));
    global->Set(String::New("CSSPrimitiveValue"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_css_CSSPrimitiveValue >::Constructor));
    global->Set(String::New("CSSValueList"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_css_CSSValueList >::Constructor));
    global->Set(String::New("RGBColor"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_css_RGBColor >::Constructor));
    global->Set(String::New("Rect"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_css_Rect >::Constructor));
    global->Set(String::New("Counter"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_css_Counter >::Constructor));
    global->Set(String::New("ElementCSSInlineStyle"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_css_ElementCSSInlineStyle >::Constructor));
    global->Set(String::New("CSS2Properties"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_css_CSS2Properties >::Constructor));
    global->Set(String::New("CSSStyleSheet"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_css_CSSStyleSheet >::Constructor));
    global->Set(String::New("ViewCSS"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_css_ViewCSS >::Constructor));
    global->Set(String::New("DocumentCSS"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_css_DocumentCSS >::Constructor));
    global->Set(String::New("DOMImplementationCSS"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_css_DOMImplementationCSS >::Constructor));
    global->Set(String::New("EventException"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_events_EventException >::Constructor));
    global->Set(String::New("EventTarget"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_events_EventTarget >::Constructor));
    global->Set(String::New("EventListener"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_events_EventListener >::Constructor));
    global->Set(String::New("Event"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_events_Event >::Constructor));
    global->Set(String::New("DocumentEvent"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_events_DocumentEvent >::Constructor));
    global->Set(String::New("UIEvent"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_events_UIEvent >::Constructor));
    global->Set(String::New("MouseEvent"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_events_MouseEvent >::Constructor));
    global->Set(String::New("MutationEvent"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_events_MutationEvent >::Constructor));
    global->Set(String::New("HTMLCollection"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLCollection >::Constructor));
    global->Set(String::New("HTMLOptionsCollection"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLOptionsCollection >::Constructor));
    global->Set(String::New("HTMLDocument"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLDocument >::Constructor));
    global->Set(String::New("HTMLElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLElement >::Constructor));
    global->Set(String::New("HTMLHtmlElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLHtmlElement >::Constructor));
    global->Set(String::New("HTMLHeadElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLHeadElement >::Constructor));
    global->Set(String::New("HTMLLinkElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLLinkElement >::Constructor));
    global->Set(String::New("HTMLTitleElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLTitleElement >::Constructor));
    global->Set(String::New("HTMLMetaElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLMetaElement >::Constructor));
    global->Set(String::New("HTMLBaseElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLBaseElement >::Constructor));
    global->Set(String::New("HTMLIsIndexElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLIsIndexElement >::Constructor));
    global->Set(String::New("HTMLStyleElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLStyleElement >::Constructor));
    global->Set(String::New("HTMLBodyElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLBodyElement >::Constructor));
    global->Set(String::New("HTMLFormElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLFormElement >::Constructor));
    global->Set(String::New("HTMLSelectElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLSelectElement >::Constructor));
    global->Set(String::New("HTMLOptGroupElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLOptGroupElement >::Constructor));
    global->Set(String::New("HTMLOptionElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLOptionElement >::Constructor));
    global->Set(String::New("HTMLInputElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLInputElement >::Constructor));
    global->Set(String::New("HTMLTextAreaElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLTextAreaElement >::Constructor));
    global->Set(String::New("HTMLButtonElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLButtonElement >::Constructor));
    global->Set(String::New("HTMLLabelElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLLabelElement >::Constructor));
    global->Set(String::New("HTMLFieldSetElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLFieldSetElement >::Constructor));
    global->Set(String::New("HTMLLegendElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLLegendElement >::Constructor));
    global->Set(String::New("HTMLUListElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLUListElement >::Constructor));
    global->Set(String::New("HTMLOListElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLOListElement >::Constructor));
    global->Set(String::New("HTMLDListElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLDListElement >::Constructor));
    global->Set(String::New("HTMLDirectoryElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLDirectoryElement >::Constructor));
    global->Set(String::New("HTMLMenuElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLMenuElement >::Constructor));
    global->Set(String::New("HTMLLIElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLLIElement >::Constructor));
    global->Set(String::New("HTMLDivElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLDivElement >::Constructor));
    global->Set(String::New("HTMLParagraphElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLParagraphElement >::Constructor));
    global->Set(String::New("HTMLHeadingElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLHeadingElement >::Constructor));
    global->Set(String::New("HTMLQuoteElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLQuoteElement >::Constructor));
    global->Set(String::New("HTMLPreElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLPreElement >::Constructor));
    global->Set(String::New("HTMLBRElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLBRElement >::Constructor));
    global->Set(String::New("HTMLBaseFontElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLBaseFontElement >::Constructor));
    global->Set(String::New("HTMLFontElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLFontElement >::Constructor));
    global->Set(String::New("HTMLHRElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLHRElement >::Constructor));
    global->Set(String::New("HTMLModElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLModElement >::Constructor));
    global->Set(String::New("HTMLAnchorElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLAnchorElement >::Constructor));
    global->Set(String::New("HTMLImageElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLImageElement >::Constructor));
    global->Set(String::New("HTMLObjectElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLObjectElement >::Constructor));
    global->Set(String::New("HTMLParamElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLParamElement >::Constructor));
    global->Set(String::New("HTMLAppletElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLAppletElement >::Constructor));
    global->Set(String::New("HTMLMapElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLMapElement >::Constructor));
    global->Set(String::New("HTMLAreaElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLAreaElement >::Constructor));
    global->Set(String::New("HTMLScriptElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLScriptElement >::Constructor));
    global->Set(String::New("HTMLTableElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLTableElement >::Constructor));
    global->Set(String::New("HTMLTableCaptionElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLTableCaptionElement >::Constructor));
    global->Set(String::New("HTMLTableColElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLTableColElement >::Constructor));
    global->Set(String::New("HTMLTableSectionElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLTableSectionElement >::Constructor));
    global->Set(String::New("HTMLTableRowElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLTableRowElement >::Constructor));
    global->Set(String::New("HTMLTableCellElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLTableCellElement >::Constructor));
    global->Set(String::New("HTMLFrameSetElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLFrameSetElement >::Constructor));
    global->Set(String::New("HTMLFrameElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLFrameElement >::Constructor));
    global->Set(String::New("HTMLIFrameElement"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_html2_HTMLIFrameElement >::Constructor));
    global->Set(String::New("RangeException"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_ranges_RangeException >::Constructor));
    global->Set(String::New("Range"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_ranges_Range >::Constructor));
    global->Set(String::New("DocumentRange"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_ranges_DocumentRange >::Constructor));
    global->Set(String::New("NodeIterator"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_traversal_NodeIterator >::Constructor));
    global->Set(String::New("NodeFilter"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_traversal_NodeFilter >::Constructor));
    global->Set(String::New("TreeWalker"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_traversal_TreeWalker >::Constructor));
    global->Set(String::New("DocumentTraversal"),
                FunctionTemplate::New(v8_wrapper::Registrator< js_traversal_DocumentTraversal >::Constructor));
}
