Class ::xo::db::Object (public)

 ::xo::db::Class ::xo::db::Object[i]

Defined in

Testcases:
No testcase defined.
Source code:
namespace eval ::xo::db {}
::nsf::object::alloc ::xo::db::Class ::xo::db::Object {set :__default_metaclass ::xotcl::Class
   set :__default_superclass ::xotcl::Object
   set :abstract_p f
   set :auto_save false
   array set :db_constraints {}
   array set :db_slot {modifying_user ::xo::db::Object::slot::modifying_user last_modified ::xo::db::Object::slot::last_modified package_id ::xo::db::Object::slot::package_id object_title ::xo::db::Object::slot::object_title creation_ip ::xo::db::Object::slot::creation_ip security_inherit_p ::xo::db::Object::slot::security_inherit_p context_id ::xo::db::Object::slot::context_id modifying_ip ::xo::db::Object::slot::modifying_ip creation_date ::xo::db::Object::slot::creation_date creation_user ::xo::db::Object::slot::creation_user object_id ::xo::db::Object::slot::object_id}
   set :id_column object_id
   set :name_method {}
   set :object_type acs_object
   set :object_type_key 00000000
   set :pretty_name Object
   set :pretty_plural Objects
   set :security_inherit_p t
   set :sql_package_name ::xo::db::Object
   set :supertype acs_object
   set :table_name acs_objects
   set :with_table true}
::xo::db::Object instproc save_new {-package_id -creation_user -creation_ip -context_id} {
    if {![info exists package_id] && [info exists :package_id]} {
      set package_id ${:package_id}
    }
    if {![info exists context_id]} {
      set context_id [expr {[info exists :context_id] ? ${:context_id} : ""}]
    }
    [:info class] get_context package_id creation_user creation_ip
    ::xo::dc transaction {
      set id [[:info class] new_acs_object  -package_id $package_id  -creation_user $creation_user  -creation_ip $creation_ip  -context_id $context_id  ""]
      [:info class] initialize_acs_object [self$id
      :insert
    }
    return $id
  }
::xo::db::Object instproc delete {} {
    ::acs::dc call acs_object delete -object_id ${:object_id}
    :destroy
  }
::xo::db::Object instproc insert {} {:log no-insert;}
::xo::db::Object instproc save {-package_id -modifying_user -context_id} {
    set cmd [list :update]
    if {[info exists package_id]} {lappend cmd -package_id $package_id}
    if {[info exists modifying_user]} {lappend cmd -modifying_user $modifying_user}
    if {[info exists context_id]} {lappend cmd -context_id $context_id}
    {*}$cmd
  }
::xo::db::Object instproc initialize_loaded_object {} {
    #
    # This method is to be called, after an existing
    # object is fetched from the database.
    #
    # empty body, to be refined
  }
::xo::db::Object instproc update {-package_id -modifying_user -context_id} {
    set object_id ${:object_id}
    if {![info exists package_id] && [info exists :package_id]} {
      set package_id ${:package_id}
    }
    if {![info exists context_id]} {
      set context_id [expr {[info exists :context_id] ? ${:context_id} : ""}]
    }
    [:info class] get_context package_id modifying_user modifying_ip
    set title ${:object_title}
    ::xo::dc dml update_object {
      update acs_objects set
         title          = :title,
         modifying_user = :modifying_user,
         modifying_ip   = :modifying_ip,
         context_id     = :context_id
      where object_id = :object_id
    }
    # Make sure object memory image reflects db values
    foreach att {modifying_user modifying_ip context_id} {
      set :${att} [set $att]
    }
    set :last_modified [::xo::dc get_value -prepare integer  get_last_modified {
      select last_modified from acs_objects
      where object_id = :object_id
    }]
  }
::xo::db::Object instparametercmd creation_date
::xo::db::Object instparametercmd object_id
::xo::db::Object instparametercmd creation_user
::xo::db::Object instparametercmd creation_ip
::xo::db::Object instparametercmd object_title
::xo::db::Object instparametercmd package_id
::xo::db::Object instparametercmd security_inherit_p
::xo::db::Object instparametercmd context_id
::xo::db::Object instparametercmd last_modified
::xo::db::Object instparametercmd modifying_user
::xo::db::Object instparametercmd modifying_ip

::nx::slotObj -container slot ::xo::db::Object

::nsf::object::alloc ::xo::db::Attribute ::xo::db::Object::slot::object_title {set :accessor public
   set :column_name title
   set :configurable true
   set :convert false
   set :create_acs_attribute true
   set :create_table_attribute true
   set :datatype text
   set :defaultmethods {}
   set :disposition alias
   set :domain ::xo::db::Object
   set :incremental false
   set :manager ::xo::db::Object::slot::object_title
   set :max_n_values 1
   set :methodname object_title
   set :min_n_values 1
   set :multiplicity 1..1
   set :name object_title
   set :parameterSpec -object_title
   set :per-object false
   set :position 0
   set :pretty_name {Object Title}
   set :pretty_plural {}
   set :references {}
   set :required false
   set :sqltype text
   set :trace none
   : init}

::nsf::object::alloc ::xo::db::Attribute ::xo::db::Object::slot::package_id {set :accessor public
   set :column_name package_id
   set :configurable true
   set :convert false
   set :create_acs_attribute true
   set :create_table_attribute true
   set :datatype integer
   set :defaultmethods {}
   set :disposition alias
   set :domain ::xo::db::Object
   set :incremental false
   set :manager ::xo::db::Object::slot::package_id
   set :max_n_values 1
   set :methodname package_id
   set :min_n_values 1
   set :multiplicity 1..1
   set :name package_id
   set :parameterSpec -package_id
   set :per-object false
   set :position 0
   set :pretty_name {Package ID}
   set :pretty_plural {}
   set :references {}
   set :required false
   set :sqltype integer
   set :trace none
   : init}

::nsf::object::alloc ::xo::db::Attribute ::xo::db::Object::slot::security_inherit_p {set :accessor public
   set :column_name security_inherit_p
   set :configurable true
   set :convert false
   set :create_acs_attribute true
   set :create_table_attribute true
   set :datatype boolean
   set :defaultmethods {}
   set :disposition alias
   set :domain ::xo::db::Object
   set :incremental false
   set :manager ::xo::db::Object::slot::security_inherit_p
   set :max_n_values 1
   set :methodname security_inherit_p
   set :min_n_values 1
   set :multiplicity 1..1
   set :name security_inherit_p
   set :parameterSpec -security_inherit_p
   set :per-object false
   set :position 0
   set :pretty_name {Security Inherit}
   set :pretty_plural {}
   set :references {}
   set :required false
   set :sqltype boolean
   set :trace none
   : init}

::nsf::object::alloc ::xo::db::Attribute ::xo::db::Object::slot::context_id {set :accessor public
   set :column_name context_id
   set :configurable true
   set :convert false
   set :create_acs_attribute true
   set :create_table_attribute true
   set :datatype integer
   set :defaultmethods {}
   set :disposition alias
   set :domain ::xo::db::Object
   set :incremental false
   set :manager ::xo::db::Object::slot::context_id
   set :max_n_values 1
   set :methodname context_id
   set :min_n_values 1
   set :multiplicity 1..1
   set :name context_id
   set :parameterSpec -context_id
   set :per-object false
   set :position 0
   set :pretty_name {Context ID}
   set :pretty_plural {}
   set :references {}
   set :required false
   set :sqltype integer
   set :trace none
   : init}

::nsf::object::alloc ::xo::db::Attribute ::xo::db::Object::slot::last_modified {set :accessor public
   set :column_name last_modified
   set :configurable true
   set :convert false
   set :create_acs_attribute true
   set :create_table_attribute true
   set :datatype timestamp
   set :defaultmethods {}
   set :disposition alias
   set :domain ::xo::db::Object
   set :incremental false
   set :manager ::xo::db::Object::slot::last_modified
   set :max_n_values 1
   set :methodname last_modified
   set :min_n_values 1
   set :multiplicity 1..1
   set :name last_modified
   set :parameterSpec -last_modified
   set :per-object false
   set :position 0
   set :pretty_name {Last Modified On}
   set :pretty_plural {}
   set :references {}
   set :required false
   set :sqltype timestamp
   set :trace none
   : init}

::nsf::object::alloc ::xo::db::Attribute ::xo::db::Object::slot::modifying_user {set :accessor public
   set :column_name modifying_user
   set :configurable true
   set :convert false
   set :create_acs_attribute true
   set :create_table_attribute true
   set :datatype integer
   set :defaultmethods {}
   set :disposition alias
   set :domain ::xo::db::Object
   set :incremental false
   set :manager ::xo::db::Object::slot::modifying_user
   set :max_n_values 1
   set :methodname modifying_user
   set :min_n_values 1
   set :multiplicity 1..1
   set :name modifying_user
   set :parameterSpec -modifying_user
   set :per-object false
   set :position 0
   set :pretty_name {Modifying User}
   set :pretty_plural {}
   set :references {}
   set :required false
   set :sqltype integer
   set :trace none
   : init}

::nsf::object::alloc ::xo::db::Attribute ::xo::db::Object::slot::modifying_ip {set :accessor public
   set :column_name modifying_ip
   set :configurable true
   set :convert false
   set :create_acs_attribute true
   set :create_table_attribute true
   set :datatype text
   set :defaultmethods {}
   set :disposition alias
   set :domain ::xo::db::Object
   set :incremental false
   set :manager ::xo::db::Object::slot::modifying_ip
   set :max_n_values 1
   set :methodname modifying_ip
   set :min_n_values 1
   set :multiplicity 1..1
   set :name modifying_ip
   set :parameterSpec -modifying_ip
   set :per-object false
   set :position 0
   set :pretty_name {Modifying IP Address}
   set :pretty_plural {}
   set :references {}
   set :required false
   set :sqltype text
   set :trace none
   : init}

::nsf::object::alloc ::xo::db::Attribute ::xo::db::Object::slot::creation_date {set :accessor public
   set :column_name creation_date
   set :configurable true
   set :convert false
   set :create_acs_attribute true
   set :create_table_attribute true
   set :datatype timestamp
   set :defaultmethods {}
   set :disposition alias
   set :domain ::xo::db::Object
   set :incremental false
   set :manager ::xo::db::Object::slot::creation_date
   set :max_n_values 1
   set :methodname creation_date
   set :min_n_values 1
   set :multiplicity 1..1
   set :name creation_date
   set :parameterSpec -creation_date
   set :per-object false
   set :position 0
   set :pretty_name {Creation Date}
   set :pretty_plural {}
   set :references {}
   set :required false
   set :sqltype timestamp
   set :trace none
   : init}

::nsf::object::alloc ::xo::db::Attribute ::xo::db::Object::slot::creation_user {set :accessor public
   set :column_name creation_user
   set :configurable true
   set :convert false
   set :create_acs_attribute true
   set :create_table_attribute true
   set :datatype integer
   set :defaultmethods {}
   set :disposition alias
   set :domain ::xo::db::Object
   set :incremental false
   set :manager ::xo::db::Object::slot::creation_user
   set :max_n_values 1
   set :methodname creation_user
   set :min_n_values 1
   set :multiplicity 1..1
   set :name creation_user
   set :parameterSpec -creation_user
   set :per-object false
   set :position 0
   set :pretty_name {Creation User}
   set :pretty_plural {}
   set :references {}
   set :required false
   set :sqltype integer
   set :trace none
   : init}

::nsf::object::alloc ::xo::db::Attribute ::xo::db::Object::slot::object_id {set :accessor public
   set :column_name object_id
   set :configurable true
   set :convert false
   set :create_acs_attribute true
   set :create_table_attribute true
   set :datatype integer
   set :defaultmethods {}
   set :disposition alias
   set :domain ::xo::db::Object
   set :incremental false
   set :manager ::xo::db::Object::slot::object_id
   set :max_n_values 1
   set :methodname object_id
   set :min_n_values 1
   set :multiplicity 1..1
   set :name object_id
   set :parameterSpec -object_id
   set :per-object false
   set :position 0
   set :pretty_name {Object ID}
   set :pretty_plural {}
   set :references {}
   set :required false
   set :sqltype integer
   set :trace none
   : init}

::nsf::object::alloc ::xo::db::Attribute ::xo::db::Object::slot::creation_ip {set :accessor public
   set :column_name creation_ip
   set :configurable true
   set :convert false
   set :create_acs_attribute true
   set :create_table_attribute true
   set :datatype text
   set :defaultmethods {}
   set :disposition alias
   set :domain ::xo::db::Object
   set :incremental false
   set :manager ::xo::db::Object::slot::creation_ip
   set :max_n_values 1
   set :methodname creation_ip
   set :min_n_values 1
   set :multiplicity 1..1
   set :name creation_ip
   set :parameterSpec -creation_ip
   set :per-object false
   set :position 0
   set :pretty_name {Creation IP Address}
   set :pretty_plural {}
   set :references {}
   set :required false
   set :sqltype text
   set :trace none
   : init}
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: