QueryObject

QueryObject

Superclass
Model

Subclasses
JoinQuery, WrapperQuery, TableQuery, FullOuterJoinQuery, DistinctQuery,
ExpressionWrapperQuery, RenamingQuery, ImmediateQuery, GroupQuery, OrderQuery,
ProjectQuery, SelectionQuery

Subclass Responsibilities
#queryManager, #classNames, #tables, #answerBlock, #encodeBasedOn:,
#fields, #invertFields:withValues:

Referenced By
QueriesHolder, QueryModelEditor, DetailedTable, SelectionCriterion,
EditorValues, TestCriterion, SingleEditorValues

QueryObject is an abstract class that represents a query to be performed on the database.
You can retrieve a value from a QueryObject by using the value, valueIfAbsent:, values,
and valuesAsObjects messages. Both the value and valueIfAbsent: expect the query to return
only one row, whereas the other two will return multiple rows. The valuesAsObject message
is used to return the rows as objects and not as arrays.

The database encoding info is in the subclasses.

Subclasses must implement the following messages:
	accessing
		answerBlock
		classNames
		tables
	private
		fields
		inverFields:withValues:

Class Variables:
UpdateList <Collection> list of objects that need to be updated. This list is used to keep queries from evaluating multiple times.
Updating <Boolean> should we propagate update messages

Contacts