MediaWiki  REL1_22
FileOp Class Reference

FileBackend helper class for representing operations. More...

Inheritance diagram for FileOp:
Collaboration diagram for FileOp:

List of all members.

Public Member Functions

 __construct (FileBackendStore $backend, array $params)
 Build a new batch file operation transaction.
 applyDependencies (array $deps)
 Update a dependency tracking array to account for this operation.
 attempt ()
 Attempt the operation.
 attemptAsync ()
 Attempt the operation in the background.
 dependsOn (array $deps)
 Check if this operation changes files listed in $paths.
 failed ()
 Check if this operation failed precheck() or attempt()
 getBackend ()
 Get the backend this operation is for.
 getJournalEntries (array $oPredicates, array $nPredicates)
 Get the file journal entries for this file operation.
 getParam ($name)
 Get the value of the parameter with the given name.
 logFailure ($action)
 Log a file operation failure and preserve any temp files.
 precheck (array &$predicates)
 Check preconditions of the operation without writing anything.
 setBatchId ($batchId)
 Set the batch UUID this operation belongs to.
 storagePathsChanged ()
 Get a list of storage paths written to for this operation.
 storagePathsRead ()
 Get a list of storage paths read from for this operation.

Static Public Member Functions

static newDependencies ()
 Get a new empty dependency tracking array for paths read/written to.
static newPredicates ()
 Get a new empty predicates array for precheck()

Public Attributes

const STATE_ATTEMPTED = 3
const STATE_CHECKED = 2
const STATE_NEW = 1

Protected Member Functions

 allowedParams ()
 Get the file operation parameters.
 doAttempt ()
 doPrecheck (array &$predicates)
 fileExists ($source, array $predicates)
 Check if a file will exist in storage when this operation is attempted.
 fileSha1 ($source, array $predicates)
 Get the SHA-1 of a file in storage when this operation is attempted.
 getSourceSha1Base36 ()
 precheckDestExistence() helper function to get the source file SHA-1.
 normalizeAnyStoragePaths ($item)
 Normalize $item or anything in $item that is a valid storage path.
 precheckDestExistence (array $predicates)
 Check for errors with regards to the destination file already existing.
 setFlags (array $params)
 Adjust params to FileBackendStore internal file calls.

Static Protected Member Functions

static normalizeIfValidStoragePath ($path)
 Normalize a string if it is a valid storage path.

Protected Attributes

 $async = false
FileBackendStore $backend
 *
 $batchId
 $destExists
 $doOperation = true
 $failed = false
 $overwriteSameCase
Array $params = array()
 *
 $sourceSha1
 $state = self::STATE_NEW

Detailed Description

FileBackend helper class for representing operations.

Do not use this class from places outside FileBackend.

Methods called from FileOpBatch::attempt() should avoid throwing exceptions at all costs. FileOp objects should be lightweight in order to support large arrays in memory and serialization.

Since:
1.19

Definition at line 36 of file FileOp.php.


Constructor & Destructor Documentation

FileOp::__construct ( FileBackendStore backend,
array params 
) [final]

Build a new batch file operation transaction.

Parameters:
FileBackendStore$backend
Array$params
Exceptions:
MWException

Definition at line 62 of file FileOp.php.


Member Function Documentation

FileOp::allowedParams ( ) [protected]

Get the file operation parameters.

Returns:
Array (required params list, optional params list)

Reimplemented in DescribeFileOp, DeleteFileOp, MoveFileOp, CopyFileOp, StoreFileOp, and CreateFileOp.

Definition at line 311 of file FileOp.php.

FileOp::applyDependencies ( array deps) [final]

Update a dependency tracking array to account for this operation.

Parameters:
array$depsPrior path reads/writes; format of FileOp::newPredicates()
Returns:
Array

Definition at line 170 of file FileOp.php.

FileOp::attempt ( ) [final]

Attempt the operation.

Returns:
Status

Definition at line 268 of file FileOp.php.

FileOp::attemptAsync ( ) [final]

Attempt the operation in the background.

Returns:
Status

Definition at line 299 of file FileOp.php.

FileOp::dependsOn ( array deps) [final]

Check if this operation changes files listed in $paths.

Parameters:
array$pathsPrior path reads/writes; format of FileOp::newPredicates()
Returns:
boolean

Definition at line 182 of file FileOp.php.

FileOp::doAttempt ( ) [protected]
Returns:
Status

Reimplemented in DescribeFileOp, DeleteFileOp, MoveFileOp, CopyFileOp, StoreFileOp, and CreateFileOp.

Definition at line 290 of file FileOp.php.

FileOp::doPrecheck ( array &$  predicates) [protected]
Returns:
Status

Reimplemented in DescribeFileOp, DeleteFileOp, MoveFileOp, CopyFileOp, StoreFileOp, and CreateFileOp.

Definition at line 259 of file FileOp.php.

FileOp::failed ( ) [final]

Check if this operation failed precheck() or attempt()

Returns:
bool

Definition at line 142 of file FileOp.php.

FileOp::fileExists ( source,
array predicates 
) [final, protected]

Check if a file will exist in storage when this operation is attempted.

Parameters:
string$sourceStorage path
Array$predicates
Returns:
bool

Definition at line 400 of file FileOp.php.

FileOp::fileSha1 ( source,
array predicates 
) [final, protected]

Get the SHA-1 of a file in storage when this operation is attempted.

Parameters:
string$sourceStorage path
Array$predicates
Returns:
string|bool False on failure

Definition at line 416 of file FileOp.php.

Get the backend this operation is for.

Returns:
FileBackendStore

Definition at line 432 of file FileOp.php.

FileOp::getJournalEntries ( array oPredicates,
array nPredicates 
) [final]

Get the file journal entries for this file operation.

Parameters:
array$oPredicatesPre-op info about files (format of FileOp::newPredicates)
array$nPredicatesPost-op info about files (format of FileOp::newPredicates)
Returns:
Array

Definition at line 203 of file FileOp.php.

FileOp::getParam ( name) [final]

Get the value of the parameter with the given name.

Parameters:
string$name
Returns:
mixed Returns null if the parameter is not set

Definition at line 133 of file FileOp.php.

FileOp::getSourceSha1Base36 ( ) [protected]

precheckDestExistence() helper function to get the source file SHA-1.

Subclasses should overwride this if the source is not in storage.

Returns:
string|bool Returns false on failure

Reimplemented in StoreFileOp, and CreateFileOp.

Definition at line 389 of file FileOp.php.

FileOp::logFailure ( action) [final]

Log a file operation failure and preserve any temp files.

Parameters:
string$action
Returns:
void

Definition at line 442 of file FileOp.php.

static FileOp::newDependencies ( ) [static, final]

Get a new empty dependency tracking array for paths read/written to.

Returns:
Array

Definition at line 160 of file FileOp.php.

Referenced by FileOpBatch\attempt().

static FileOp::newPredicates ( ) [static, final]

Get a new empty predicates array for precheck()

Returns:
Array

Definition at line 151 of file FileOp.php.

Referenced by FileOpBatch\attempt().

FileOp::normalizeAnyStoragePaths ( item) [protected]

Normalize $item or anything in $item that is a valid storage path.

Parameters:
string$item,|array
Returns:
string|Array

Definition at line 89 of file FileOp.php.

static FileOp::normalizeIfValidStoragePath ( path) [static, protected]

Normalize a string if it is a valid storage path.

Parameters:
string$path
Returns:
string

Definition at line 109 of file FileOp.php.

FileOp::precheck ( array &$  predicates) [final]

Check preconditions of the operation without writing anything.

This must update $predicates for each path that the op can change except when a failing status object is returned.

Parameters:
Array$predicates
Returns:
Status

Definition at line 244 of file FileOp.php.

FileOp::precheckDestExistence ( array predicates) [protected]

Check for errors with regards to the destination file already existing.

Also set the destExists, overwriteSameCase and sourceSha1 member variables. A bad status will be returned if there is no chance it can be overwritten.

Parameters:
Array$predicates
Returns:
Status

Definition at line 351 of file FileOp.php.

FileOp::setBatchId ( batchId) [final]

Set the batch UUID this operation belongs to.

Parameters:
string$batchId
Returns:
void

Definition at line 123 of file FileOp.php.

FileOp::setFlags ( array params) [protected]

Adjust params to FileBackendStore internal file calls.

Parameters:
Array$params
Returns:
Array (required params list, optional params list)

Definition at line 321 of file FileOp.php.

Get a list of storage paths written to for this operation.

Returns:
Array

Reimplemented in DescribeFileOp, DeleteFileOp, MoveFileOp, CopyFileOp, StoreFileOp, and CreateFileOp.

Definition at line 339 of file FileOp.php.

Get a list of storage paths read from for this operation.

Returns:
Array

Reimplemented in MoveFileOp, and CopyFileOp.

Definition at line 330 of file FileOp.php.


Member Data Documentation

FileOp::$async = false [protected]

Definition at line 42 of file FileOp.php.

FileBackendStore FileOp::$backend [protected]

*

Definition at line 38 of file FileOp.php.

FileOp::$batchId [protected]

Definition at line 43 of file FileOp.php.

FileOp::$destExists [protected]

Definition at line 48 of file FileOp.php.

FileOp::$doOperation = true [protected]

Definition at line 45 of file FileOp.php.

FileOp::$failed = false [protected]

Definition at line 41 of file FileOp.php.

FileOp::$overwriteSameCase [protected]

Definition at line 47 of file FileOp.php.

Array FileOp::$params = array() [protected]

*

Definition at line 37 of file FileOp.php.

FileOp::$sourceSha1 [protected]

Definition at line 46 of file FileOp.php.

FileOp::$state = self::STATE_NEW [protected]

Definition at line 40 of file FileOp.php.

Definition at line 53 of file FileOp.php.

Definition at line 52 of file FileOp.php.

const FileOp::STATE_NEW = 1

Definition at line 51 of file FileOp.php.


The documentation for this class was generated from the following file: