Index: /trunk/DataStore/lib/DataStore/File/Parser.pm
===================================================================
--- /trunk/DataStore/lib/DataStore/File/Parser.pm	(revision 6498)
+++ /trunk/DataStore/lib/DataStore/File/Parser.pm	(revision 6499)
@@ -1,5 +1,5 @@
 # Copyright (C) 2006  Joshua Hoblitt
 #
-# $Id: Parser.pm,v 1.4 2006-02-25 00:11:32 jhoblitt Exp $
+# $Id: Parser.pm,v 1.5 2006-02-27 22:32:00 jhoblitt Exp $
 
 package DataStore::File::Parser;
@@ -11,5 +11,8 @@
 $VERSION = '0.01';
 
+use base qw( Class::Accessor::Fast );
+
 use Carp qw( carp );
+use DataStore::Record;
 use Params::Validate qw( validate_pos SCALAR);
 
@@ -18,4 +21,6 @@
 my $md5_field = qr/^[0-9a-f]{32}$/;
 my %known_types = map { $_ => 1 } qw( chip );
+
+__PACKAGE__->mk_ro_accessors(qw(base_uri));
 
 =pod
@@ -136,5 +141,5 @@
 
         # fifo  
-        push @data, DataStore::File::Record->new({
+        push @data, DataStore::Record::File->new({
             fileid  => $fileid,
             bytes   => $bytes,
@@ -149,14 +154,4 @@
 }
 
-package DataStore::File::Record;
-
-use base qw( Class::Accessor::Fast );
-
-use vars qw( @BASE_FIELDS );
-
-@BASE_FIELDS = qw( fileid bytes md5sum type );
-
-__PACKAGE__->mk_accessors(@BASE_FIELDS);
-
 1;
 
Index: /trunk/DataStore/lib/DataStore/FileSet/Parser.pm
===================================================================
--- /trunk/DataStore/lib/DataStore/FileSet/Parser.pm	(revision 6498)
+++ /trunk/DataStore/lib/DataStore/FileSet/Parser.pm	(revision 6499)
@@ -1,5 +1,5 @@
 # Copyright (C) 2006  Joshua Hoblitt
 #
-# $Id: Parser.pm,v 1.5 2006-02-25 04:48:25 jhoblitt Exp $
+# $Id: Parser.pm,v 1.6 2006-02-27 22:32:00 jhoblitt Exp $
 
 package DataStore::FileSet::Parser;
@@ -15,4 +15,5 @@
 use Carp qw( carp );
 use Data::Validate::URI qw( is_http_uri );
+use DataStore::Record;
 use Params::Validate qw( validate validate_pos SCALAR);
 
@@ -151,5 +152,5 @@
 
         # fifo
-        push @data, DataStore::FileSet::Record->new({
+        push @data, DataStore::Record::FileSet->new({
             fileset     => $fileset,
             datetime    => $datetime,
@@ -164,14 +165,4 @@
 }
 
-package DataStore::FileSet::Record;
-
-use base qw( Class::Accessor::Fast );
-
-use vars qw( @BASE_FIELDS );
-
-@BASE_FIELDS = qw( fileset datetime type uri );
-
-__PACKAGE__->mk_accessors(@BASE_FIELDS);
-
 1;
 
Index: /trunk/DataStore/lib/DataStore/Record.pm
===================================================================
--- /trunk/DataStore/lib/DataStore/Record.pm	(revision 6499)
+++ /trunk/DataStore/lib/DataStore/Record.pm	(revision 6499)
@@ -0,0 +1,77 @@
+# Copyright (C) 2006  Joshua Hoblitt
+#
+# $Id: Record.pm,v 1.1 2006-02-27 22:32:00 jhoblitt Exp $
+
+package DataStore::Record;
+
+use strict;
+use warnings;
+
+use vars qw($VERSION);
+$VERSION = '0.01';
+
+use base qw( Class::Accessor::Fast );
+
+use Carp qw( carp );
+use Data::Validate::URI qw( is_http_uri );
+use Params::Validate qw( validate validate_pos SCALAR);
+
+use vars qw( @BASE_FIELDS );
+
+@BASE_FIELDS = qw( uri );
+
+__PACKAGE__->mk_ro_accessors(@BASE_FIELDS);
+
+=pod
+
+=head1 NAME
+
+DataStore::Record - base class of DataStore list records or rows
+
+=head1 SYNOPSIS
+
+    use base qw( DataStore::Record );
+
+=head1 DESCRIPTION
+
+=head1 USAGE
+
+=head2 Import Parameters
+
+This module accepts no arguments to it's C<import> method and exports no
+I<symbols>.
+
+=head2 Methods
+
+=head3 Object Methods
+
+=over 4
+
+=item * C<uri()>
+
+=cut
+
+package DataStore::Record::FileSet;
+
+use base qw( DataStore::Record );
+
+use vars qw( @BASE_FIELDS );
+
+@BASE_FIELDS = qw( fileset datetime type );
+
+__PACKAGE__->mk_accessors(@BASE_FIELDS);
+
+
+package DataStore::Record::File;
+
+use base qw( DataStore::Record );
+
+use vars qw( @BASE_FIELDS );
+
+@BASE_FIELDS = qw( fileid bytes md5sum type );
+
+__PACKAGE__->mk_accessors(@BASE_FIELDS);
+
+1;
+
+__END__
