# File vapor/repositorymgr.rb, line 297 def get_class_attributes( klass ) class_id = nil superclass = '' ## retrieve class' OID row = @dbh.select_one( 'SELECT _oid, _superclass FROM ":Vapor::ClassMetaData" WHERE _name = \'' + klass.to_s + "';") if row then class_id = row[0] superclass = row[1] else return nil # no result, class doesn't exist end ## we know the class' oid, let'sretrieve all reference attributes refattrs = Array.new @dbh.execute( 'SELECT _name, _type, _array FROM ":Vapor::AttributeMetaData" WHERE _oid = ' + class_id.to_s + ";" ){|result| result.each{|row| refattrs << ClassAttribute.new( row[0], row[1], row[2] ) } } ## return array of Reference-Attribute's names, empty if none ## append superclass's attributes superattrs = get_class_attributes( superclass ) if superattrs then return refattrs + superattrs else return refattrs end end