lockFields

selectionQueriesForAllObjects

java.util.HashMap<K,V> selectionQueriesForAllObjects

Selection queries from read all mappings will be cached and re-used.
E.G Entity A has a 1-M to Entity D (who has a subclass Entity E). We will
build a selection query to Entity E based on the selection query from the
1-M mapping from Entity A to Entity D.

loadFactor

value

java.lang.Object value

Stores the wrapped object.

isCoordinatedWithProperty

boolean isCoordinatedWithProperty

The two variable below are used as part of the implementation of WeavedAttributeValueHolderInterface
They are used to track whether a valueholder that has been weaved into a class is coordinated
with the underlying property

remoteReferenceDescriptor

In RemoteSession case the mapping needs the reference descriptor serialized from the server,
but referenceDescriptor attribute defined as transient in the superclass. To overcome that
in non-remote case referenceDescriptor is assigned to remoteReferenceDescriptor; in remote - another way around.

referenceDescriptor

isNullAllowed

boolean isNullAllowed

If all the fields in the database row for the aggregate object are NULL,
then, by default, TopLink will place a null in the appropriate source object
(as opposed to an aggregate object filled with nulls).
To change this behavior, set the value of this variable to false. Then TopLink
will build a new instance of the aggregate object that is filled with nulls
and place it in the source object.

field

converter

Allows user defined conversion between the object attribute value and the database value.

converterClassName

java.lang.String converterClassName

isMutable

java.lang.Boolean isMutable

PERF: Indicates if this mapping's attribute is a simple atomic value and cannot be modified, only replaced.
This is a tri-state to allow user to set to true or false, as default is false but
some data-types such as Calendar or byte[] or converter types may be desired to be used as mutable.

shouldUseWrapperPolicy

sourceMapping

Table per class requires multiple query executions. Internally we
prepare those queries and cache them against the source mapping's
selection query. When queries are executed they are cloned so we
need a mechanism to keep a reference back to the actual selection
query so that we can successfully look up and chain query executions
within a table per class inheritance hierarchy.

queryTimeout

int queryTimeout

queryTimeout has three possible settings: DefaultTimeout, NoTimeout, and 1..N
This applies to both DatabaseQuery.queryTimeout and DescriptorQueryManager.queryTimeout
DatabaseQuery.queryTimeout:
- DefaultTimeout: get queryTimeout from DescriptorQueryManager
- NoTimeout, 1..N: overrides queryTimeout in DescriptorQueryManager
DescriptorQueryManager.queryTimeout:
- DefaultTimeout: get queryTimeout from parent DescriptorQueryManager. If there is no
parent, default to NoTimeout
- NoTimeout, 1..N: overrides parent queryTimeout

hintString

java.lang.String hintString

Used for adding hints to the query string in oracle

flushOnExecute

java.lang.Boolean flushOnExecute

isExecutionClone

boolean isExecutionClone

PERF: Determines if the query has already been cloned for execution, to avoid duplicate cloning.

primaryKey

object

java.lang.Object object

existencePolicy

int existencePolicy

Flag to determine existence check policy.

checkDatabaseIfInvalid

boolean checkDatabaseIfInvalid

Flag to determine cache invalidation policy support. This overrides
the CheckCache existence setting if the object is invalid or if the
cache cannot be trusted because a flush or DML has occurred.
The default is true.

checkCacheFirst

boolean checkCacheFirst

Flag to determine if the cache should be check first in addition to another option.
The default is true;

changeSummary

writeReplace

INTERNAL:
Defined in SDO 2.01 spec on page 65 Externalizable function is called by
ObjectStream.writeObject() A replacement object for serialization can be
called here.

Security Note:
This public function exposes a data replacement vulnerability where an outside client
can gain access and modify their non-final constants.
We may need to wrap the GZIP streams in some sort of encryption when we are not
using HTTPS or SSL/TLS on the wire.

readExternal

Purpose: Deserialize from an ObjectInputStream into an SDODataObject This
function is mandated by the Externalizable interface. It reads back
binary data in the same order as was written in writeExternal(). An
object has already been constructed with the no-arg constructor before
this function fills in the member fields.
The deserialized object will be returned later in a call from the
ObjectInputStream to readResolve()

Throws:

java.io.IOException

java.lang.ClassNotFoundException

writeExternal

Purpose: Serialize an SDODataObject to an ObjectOutputStream This
function is mandated by the Externalizable interface. It writes binary
data in the same order as was will be read back in readExternal().
Prerequisites: An object has already been constructed and associated with
the theSDODataObject member

writeReplace

INTERNAL:
Defined in SDO 2.01 spec on page 65 Externalizable function is called by
ObjectStream.writeObject() A replacement object for serialization can be
called here.

Security Note:
This public function exposes a data replacement vulnerability where an outside client
can gain access and modify their non-final constants.
We may need to wrap the GZIP streams in some sort of encryption when we are not
using HTTPS or SSL/TLS on the wire.

dataObject

property

currentElements

java.util.List<E> currentElements

We are maintaining two pointers to potentially two ArrayList objects.
To implement ChangeSummary undo we require a copy of the original state of our model
- with special handling for ListWrapper to maintain object identity of the list
The List (originalElements) on ChangeSummary will maintain the current state of our model after logged changes.
The List (currentElements) will be a progressively deeper distinct shallow copy of the current list as it changes

qualifier

queryRetryAttemptCount

int queryRetryAttemptCount

Stores the value for the number of time EclipseLink will attempt to reconnect the connection on a comm failure
in the case EclipseLink is attempting to retry a query. EclipseLink will retry a read query outside of a transaction
if EclipseLink can determine that a communication error occurred with the database.

delayBetweenConnectionAttempts

int delayBetweenConnectionAttempts

Stores the number of milliseconds that EclipseLink will wait between attempts to reconnect a DatabaseConnection
in the case EclipseLink is attempting to retry a query. EclipseLink will retry a read query outside of a transaction
if EclipseLink can determine that a communication error occurred with the database.

connectionHealthValidatedOnError

boolean connectionHealthValidatedOnError

This value defaults to true and on an SQL Exception EclipseLink will ping the database to determine
if the connection used can continue to be used for queries. This should have no impact on applications
unless the user is using pessimistic locking queries with 'no wait' or are using a query timeout feature.
If that is the case and the application is experiencing a performance impact from the health check then
this feature can be turned off. Turning this feature off will prevent EclipseLink from being able to
retry queries in the case of database failure.

connector

usesExternalConnectionPooling

True if we use an external connection pool such as WebLogic's JTS driver

usesExternalTransactionController

boolean usesExternalTransactionController

True if we should use some external transaction service such as JTS.

cacheTransactionIsolation

int cacheTransactionIsolation

By default concurrency is optimized and the cache is not locked during reads or writes,
This allows for concurrent reading and writing and should never cause any problems. If the application
uses no form of locking the last unit of work to merge changes will win, with no locking it is possible
only under this scenario for two unit of works to merge changes different than the database although highly unlikely
and if occurred is the entire purpose of locking. This property allows for the isolation level of changes to the
cache to be configured for sever situation and it is not suggest that this be changed.

login

The login information used to create a JDBC connection or acquire one
from an external pool/data-source. Typically this is constant within a
single persistence unit but in some advanced usages users can customize
connections for each client session.

poolName

java.lang.String poolName

Name of the pool to be used.
If neither pool name nor login provided then default pool will be used.
If no pool name is provided but there's a login then the login is used to
create connection which the ClientSession will use.

isLazy

boolean isLazy

Determines if the write/exclusive connection is acquired only when first
requested (lazy, this is the default) or immediately when the client
session is acquired.
After write/exclusive connection is acquired
if isLazy is true and exclusiveMode is Transactional
then it's held until transaction is committed or rolled back,
otherwise until the client session is released.