\acdhOeaw\schemaSchemaObject

Basic class for representing real-world entities to be imported into the repository.

Summary

Methods
Properties
Constants
__construct()
getMetadata()
getResource()
getId()
getIds()
updateRms()
getCreated()
setMetadata()
createNewVersion()
$debug
No constants found
findResource()
createResource()
getBinaryData()
mergeMetadata()
$created
$fedora
N/A
No private methods found
$res
$id
$metadata
$metadataPreserve
N/A

Properties

$debug

$debug : boolean

Debug mode switch.

Type

boolean

$created

$created : boolean

Allows to keep track of the corresponding repository resource state: - null - unknown - true - recent call to updateRms() created the repository resource - false - repository resource already existed uppon last updateRms() call

Type

boolean

$id

$id : string

Entity id.

Type

string

$metadata

$metadata : \EasyRdf\Resource

External metadata to be merged with automatically generated one.

Type

\EasyRdf\Resource

$metadataPreserve

$metadataPreserve : array

List of automaticaly generated metadata properties to be preserved while merging with external metadata.

Type

array

Methods

__construct()

__construct(\acdhOeaw\fedora\Fedora  $fedora, string  $id) 

Creates an object representing a real-world entity.

Parameters

\acdhOeaw\fedora\Fedora $fedora

repository connection object

string $id

entity identifier (derived class-specific)

getMetadata()

getMetadata() 

Creates RDF metadata from the real-world entity stored in this object.

getResource()

getResource(boolean  $create = true, boolean  $uploadBinary = true) : \acdhOeaw\fedora\FedoraResource

Returns repository resource representing given real-world entity.

If it does not exist, it can be created.

Parameters

boolean $create

should repository resource be created if it does not exist?

boolean $uploadBinary

should binary data of the real-world entity be uploaded uppon repository resource creation?

Returns

\acdhOeaw\fedora\FedoraResource

getId()

getId() : string

Returns primary id of the real-world entity stored in this object (as it was set up in the object contructor).

Please do not confuse this id with the random internal ACDH repo id.

Returns

string

getIds()

getIds() : array

Returns all known ids

Returns

array —

list of all ids

updateRms()

updateRms(boolean  $create = true, boolean  $uploadBinary = true, string  $path = '/') : \acdhOeaw\fedora\FedoraResource

Updates repository resource representing a real-world entity stored in this object.

Parameters

boolean $create

should repository resource be created if it does not exist?

boolean $uploadBinary

should binary data of the real-world entity be uploaded uppon repository resource creation?

string $path

where to create a resource (if it does not exist). If it it ends with a "/", the resource will be created as a child of a given collection). All the parents in the Fedora resource tree have to exist (you can not create "/foo/bar" if "/foo" does not exist already).

Returns

\acdhOeaw\fedora\FedoraResource

getCreated()

getCreated() : boolean

Informs about the corresponding repository resource state uppon last call to the `updateRms()` method: - null - the updateRms() was not called yet - true - repository resource was created by last call to the updateRms() - false - repository resource already existed uppoin last call to the updateRms()

Returns

boolean

setMetadata()

setMetadata(Resource  $meta, array  $preserve = array()) 

Sets an external metadata to be appended to automatically generated ones.

If a given metatada property exists both in automatically generated and provided metadata, then the final result depends on the $preserve parameter:

  • if the property is listed in the $preserve array, both automatically generated and provided values will be kept
  • if not, only values from provided metadata will be kept and automatically generated ones will be skipped

Parameters

Resource $meta

external metadata

array $preserve

list of metadata properties to be kept - see above

createNewVersion()

createNewVersion(boolean  $uploadBinary = true, string  $path = '/', boolean  $pidPass = false) : \acdhOeaw\fedora\FedoraResource

Creates a new version of the resource. The new version inherits all IDs but the UUID and epic PIDs. The old version looses all IDs but the UUID and spic PIDs. It also looses all RC::relProp() connections with collections.

The old and the new resource are linked with cfg:fedoraIsNewVersionProp and cfg:fedoraIsOldVersionProp.

Parameters

boolean $uploadBinary

should binary data of the real-world entity be uploaded uppon repository resource creation?

string $path

where to create a resource (if it does not exist). If it it ends with a "/", the resource will be created as a child of a given collection). All the parents in the Fedora resource tree have to exist (you can not create "/foo/bar" if "/foo" does not exist already).

boolean $pidPass

should PIDs (epic handles) be migrated to the new version (true) or kept by the old one (false)

Returns

\acdhOeaw\fedora\FedoraResource

old version resource

findResource()

findResource(boolean  $create = true, boolean  $uploadBinary = true, string  $path = '') : boolean

Tries to find a repository resource representing a given object.

Parameters

boolean $create

should repository resource be created if it was not found?

boolean $uploadBinary

should binary data of the real-world entity be uploaded uppon repository resource creation?

string $path

where to create a resource (if it does not exist). If it it ends with a "/", the resource will be created as a child of a given collection). All the parents in the Fedora resource tree have to exist (you can not create "/foo/bar" if "/foo" does not exist already).

Returns

boolean —

if a repository resource was found

createResource()

createResource(Resource  $meta, boolean  $uploadBinary, string  $path) 

Creates a Fedora resource

Parameters

Resource $meta
boolean $uploadBinary
string $path

getBinaryData()

getBinaryData() : \acdhOeaw\schema\value

Provides entity binary data.

Returns

\acdhOeaw\schema\value —

accepted as the \acdhOeaw\fedora\Fedora::attachData() $body parameter

mergeMetadata()

mergeMetadata(Resource  $current, Resource  $new) : Resource

Merges metadata coming from the Fedora and generated by the class.

Parameters

Resource $current

current Fedora resource metadata

Resource $new

metadata generated by the class

Returns

Resource —

final metadata