# Methods

`-addTransactionOptimizer`
  adds an optimizer with the given priority to the set of optimizers
`-addTransactionOptimizer:withPriority:`
  adds an optimizer with the given priority to the set of optimizers
`-commitTransaction:`
  Commits the given transaction
`-createTransactionForSession:`
  opens and returns a new transaction for the specified session.
`-currentTransactionForSession:`
  Returns the current transaction for the given session
`-dealloc`
`-init`
`-optimizeTransaction:`
  Runs all installed transaction optimizer over the given transaction instance and returns the modified one

### addTransactionOptimizer

adds an optimizer with the given priority to the set of optimizers

See Also:

> addTransactionOptimizer:withPriority:

>     - addTransactionOptimizer: (id <FTTransactionOptimizer>) optimizerToAdd withPriority: (unsigned) priority;

##### Parameter Descriptions

> `optimizerToAdd`
>   instance to add
> `priority`
>   low values represent higher priorities. If an optimizer already exists with this priority then the given one with this call will have a higher priority. At present the priority value is not used and must always equal 0.

method result
  self

### addTransactionOptimizer:withPriority:

adds an optimizer with the given priority to the set of optimizers

See Also:

> addTransactionOptimizer

>     - addTransactionOptimizer: (id <FTTransactionOptimizer>) optimizerToAdd withPriority: (unsigned) priority;

##### Parameter Descriptions

> `optimizerToAdd`
>   instance to add
> `priority`
>   low values represent higher priorities. If an optimizer already exists with this priority then the given one with this call will have a higher priority. At present the priority value is not used and must always equal 0.

### commitTransaction:

Commits the given transaction

>     - (BOOL) commitTransaction: (id <FTTransaction>) transactionToCommit;

##### Parameter Descriptions

> `transactionToCommit`

method result
  YES if transaction has successfully been commited

##### Discussion

On successful commitment it removes the transaction from the stack of transaction of the corresponding session.

### createTransactionForSession:

opens and returns a new transaction for the specified session.

>     - (id <FTTransaction>) createTransactionForSession: (id <FTSession>) session;

method result
  new transaction

##### Discussion

If there is another transaction already being open then the the new one will be regarded as a nested one of the already opened transaction

### currentTransactionForSession:

Returns the current transaction for the given session

>     - (id <FTTransaction>) currentTransactionForSession: (id <FTSession>) session;

method result
  the current transaction for the given session

### dealloc

>     - (void) dealloc;

### init

>     - init;

### optimizeTransaction:

Runs all installed transaction optimizer over the given transaction instance and returns the modified one

>     - (id <FTTransaction>) optimizeTransaction: (id <FTTransaction>) transaction;

##### Parameter Descriptions

> `transaction`
>   transaction to optimize

method result
  possibily modified transaction

##### Discussion

Returns the original transaction if no optimizer is installed or if none of the optimizers has modified it.

(Last Updated August 27, 2006)