Purpose:
This should only be used by the descriptor, this should not be executed directly.
Used to determine if an object resides on the database.
DoesExistQuery is normally used to determine whether to make an update
or insert statement when writing an object.

Responsibilities:
Verify the existence of an object. Used only by a write object query.

DoesExistQuery

assumeExistenceForDoesExist

Assume that if the objects primary key does not include null then it must exist.
This may be used if the user's system garentees that an object with non-null key exists.

assumeNonExistenceForDoesExist

public void assumeNonExistenceForDoesExist()

Assume that the object does not exist.
This may be used if the user's system garentees objects must always be inserted.

checkCacheForDoesExist

public void checkCacheForDoesExist()

Assume that if the objects primary key does not include null
and it is in the cache, then is must exist.
This should only be used if a full identity map is being used,
and a new object in the client cannot have been inserted by another client.

checkDatabaseForDoesExist

public void checkDatabaseForDoesExist()

Perform does exist check on the database through selecting the primary key.