package RDF::Server::Role::Mutable; use Moose::Role; with 'RDF::Server::Role::Renderable'; has deep_replace => ( is => 'rw', isa => 'Bool', default => sub { 0 } ); requires 'delete'; # remove resource completely requires 'modify'; # modify parts of a resource requires 'replace'; # logically purge and create with supplied content requires 'remove'; # purge all content directly part of resource 1; __END__ =pod =head1 NAME RDF::Server::Role::Mutable - requirements for a mutable resource =head1 SYNOPSIS package My::Handler with 'RDF::Server::Role::Mutable'; sub create { } sub delete { } sub modify { } sub replace { } sub remove { } =head1 DESCRIPTION RDF::Server::Role::Mutable is a sub-role of L. In addition to the methods required for this role, you will also need to satisfy the requirements of the Renderable role. =head2 Configuration =over 4 =item deep_replace A flag indicating whether or not the C method should propagate to referenced resources that have attributes specified in the supplied document. If false, then replacement should switch to modification when crossing into an embedded rdf:Description element (or its equivalent) that is not a blank node. Default: false. =back =head2 Methods The following methods require definitions in classes that use this role. On success, these methods should return a true value. Throw a L if status codes and messages are required to shed light on why a request is a failure. If these methods return a true value, a rendering of the resource will be returned by the server. =over 4 =item create =item delete =item modify =item remove =item replace =back =head1 AUTHOR James Smith, C<< >> =head1 LICENSE Copyright (c) 2008 Texas A&M University. This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself. =cut =head1 AUTHOR James Smith, C<< >> =head1 LICENSE Copyright (c) 2008 Texas A&M University. This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself. =cut