Jump to content
Wiki Home
EPrints Home
Bazaar
Files
Main menu
Main menu
move to sidebar
hide
Navigation
Front Page
EPrints 3 Manual
EPrints Training Course
EPrints Glossary
Installing EPrints
How-to Configure EPrints
EPrints 3.2+ API
EPrints 3 Reference
EPrints Plugins
Wiki
All categories
Recent changes
Main Page
Help
EPrints Documentation
Search
Search
Appearance
Log in
Request account
Personal tools
Log in
Request account
Pages for logged out editors
learn more
Contributions
Talk
Editing
API:EPrints/Plugin/Storage
Page
Discussion
British English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Special pages
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
<!-- Pod2Wiki=_preamble_ This page has been automatically generated from the EPrints 3.2 source. Any wiki changes made between the 'Pod2Wiki=*' and 'Edit below this comment' comments will be lost. -->{{API}}{{Pod2Wiki}}{{API:Source|file=perl_lib/EPrints/Plugin/Storage.pm|package_name=EPrints::Plugin::Storage}}[[Category:API|STORAGE]][[Category:API:EPrints/Plugin|STORAGE]][[Category:API:EPrints/Plugin/Storage|STORAGE]]<div><!-- Edit below this comment --> <!-- Pod2Wiki=_private_ --><!-- Pod2Wiki=head_name --> ==NAME== EPrints::Plugin::Storage <!-- Edit below this comment --> <!-- Pod2Wiki= --> <!-- Pod2Wiki=head_synopsis --> ==SYNOPSIS== <source lang="perl">$plugin = $repo->plugin('Storage::Local'); $plugin->open_write($fileobj) or die; $plugin->write('Hello, World!'); $plugin->close_write() or die;</source> <!-- Edit below this comment --> <!-- Pod2Wiki= --> <!-- Pod2Wiki=head_description --> ==DESCRIPTION== See [[API:EPrints/Storage|EPrints::Storage]] for information on using the storage layer. You shouldn't need to use a storage plugin directly. <!-- Edit below this comment --> <!-- Pod2Wiki= --> <!-- Pod2Wiki=head_methods --> ==METHODS== <!-- Pod2Wiki=head_store --> ===store=== <source lang="perl">$sourceid = $store->store( $fileobj, CALLBACK ) </source> Store an object using data from CALLBACK. If successful returns the source id used to retrieve this object. Returns undef on error. <!-- Edit below this comment --> <!-- Pod2Wiki= --> <!-- Pod2Wiki=head_retrieve --> ===retrieve=== <source lang="perl">$success = $store->retrieve( $fileobj, $sourceid, $offset, $len, CALLBACK ) </source> Retrieve $n bytes of data starting at $offset from the data stored for $fileobj identified by $sourceid. CALLBACK = $rc = &f( BYTES ) Note: this API may change in future to reflect the open_write/write/close_write mechanism. <!-- Edit below this comment --> <!-- Pod2Wiki= --> <!-- Pod2Wiki=head_delete --> ===delete=== <source lang="perl">$success = $store->delete( $fileobj, $sourceid ) </source> Delete the object stored for $fileobj. <!-- Edit below this comment --> <!-- Pod2Wiki= --> <!-- Pod2Wiki=head_get_local_copy --> ===get_local_copy=== <source lang="perl">$filename = $store->get_local_copy( $fileobj, $sourceid ) </source> Return the name of a local copy of the file (may be a {{API:PodLink|file=File/Temp|package_name=File::Temp|section=|text=File::Temp}} object). Returns undef if no local copy is available. <!-- Edit below this comment --> <!-- Pod2Wiki= --> <!-- Pod2Wiki=head_get_remote_copy --> ===get_remote_copy=== <source lang="perl">$url = $store->get_remote_copy( $fileobj, $sourceid ) </source> Returns an alternative URL for this file (must be publicly accessible). Returns undef if no such copy is available. <!-- Edit below this comment --> <!-- Pod2Wiki= --> <!-- Pod2Wiki=head_open_write --> ===open_write=== <source lang="perl">$ok = $store->open_write( $fileobj ) </source> Initialise a new write based on $fileobj. <!-- Edit below this comment --> <!-- Pod2Wiki= --> <!-- Pod2Wiki=head_write --> ===write=== <source lang="perl">$ok = $store->write( $fileobj, $buffer ) </source> Write $buffer. Will croak if $fileobj was not previously opened for writing with open_write(). <!-- Edit below this comment --> <!-- Pod2Wiki= --> <!-- Pod2Wiki=head_close_write --> ===close_write=== <source lang="perl">$sourceid = $store->close_write( $fileobj ) </source> Finish writing to $fileobj. Returns the sourceid or undef on failure. <!-- Edit below this comment --> <!-- Pod2Wiki= --> <!-- Pod2Wiki=head_copyright --> ==COPYRIGHT== Copyright 2000-2011 University of Southampton. This file is part of EPrints http://www.eprints.org/. EPrints is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. EPrints is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with EPrints. If not, see http://www.gnu.org/licenses/. <!-- Edit below this comment --> <!-- Pod2Wiki= --> <!-- Pod2Wiki=_postamble_ --> <!-- Edit below this comment -->
Summary:
Please note that all contributions to EPrints Documentation may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
EPrints Documentation:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Templates used on this page:
Template:API
(
edit
)
Template:API:PodLink
(
edit
)
Template:API:Source
(
edit
)
Template:Pod2Wiki
(
edit
)
Template:RefLinks
(
edit
)