NAME
Workflow::Persister::File - Persist workflow and history to the filesystem
VERSION
This documentation describes version 1.62 of this package
SYNOPSIS
<persister name="MainPersister"
class="Workflow::Persister::File"
path="/home/workflow/storage"/>
DESCRIPTION
Main persistence class for storing the workflow and workflow history records to a filesystem for later retrieval. Data are stored in serialized Perl data structure files.
METHODS
constitute_object
This method deserializes an object.
Takes a single parameter of an filesystem path pointing to an object
Returns the re-instantiated object or dies.
create_history
Serializes history records associated with a workflow object
Takes two parameters: a workflow object and an array of workflow history objects
Returns: provided array of workflow history objects upon success
create_workflow
Serializes a workflow into the persistance entity configured by our workflow.
Takes a single parameter: a workflow object
Returns a single value, a id for unique identification of out serialized workflow for possible deserialization.
fetch_history
Deserializes history records associated with a workflow object
Takes a single parameter: a workflow object
Returns an array of workflow history objects upon success
fetch_workflow
Deserializes a workflow from the persistance entity configured by our workflow.
Takes a single parameter: the unique id assigned to our workflow upon serialization (see "create_workflow").
Returns a hashref consisting of two keys:
state, the workflows current state
last_update, date indicating last update
init ( \%params )
Method to initialize the persister object. Sets up the configured generators
Throws a Workflow::Exception if a valid filesystem path is not provided with the parameters.
serialize_object
Method that writes a given object to a given path.
Takes two parameters: path (a filesystem path) and an object
Throws Workflow::Exception if unable to serialize the given object to the given path.
Returns: Nothing
update_workflow
Updates a serialized workflow in the persistance entity configured by our workflow.
Takes a single parameter: a workflow object
Returns: Nothing
TODO
refactor "constitute_object", no checks are made on filesystem prior to deserialization attempt.
SEE ALSO
COPYRIGHT
Copyright (c) 2003-2023 Chris Winters. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Please see the LICENSE
AUTHORS
Please see Workflow