# File vapor/persistencemgr.rb, line 284 def query( klass, query, arguments, subclasses = true ) raise TypeError unless klass.ancestors.include? Persistable raise TypeError unless query.is_a? String raise TypeError unless arguments.is_a? Array begin statement = @query_parser.parse( query, arguments ) rescue InvalidQueryError raise end oids = @backend.search_tuples( klass, statement, subclasses ) result = Extent.new( self, klass, subclasses ) if !oids.nil? then oids.each{|oid| result.add( oid ) } end return result end