prepared for release.
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / AccessorGroup.pm
index 79db519..dd99da3 100644 (file)
@@ -122,7 +122,6 @@ sub make_group_wo_accessor {
 
         unless (@_) {
             my $caller = caller;
-            require Carp;
             croak("'$caller' cannot access the value of '$field' on ".
                         "objects of class '$class'");
         }
@@ -142,6 +141,27 @@ sub set_simple {
   return $self->{$set} = $val;
 }
 
+sub get_component_class {
+  my ($self, $get) = @_;
+  if (ref $self) {
+      return $self->{$get};
+  } else {
+      $get = "_$get";
+      return $self->can($get) ? $self->$get : undef;      
+  }
+}
+
+sub set_component_class {
+  my ($self, $set, $val) = @_;
+  eval "require $val";
+  if (ref $self) {
+      return $self->{$set} = $val;
+  } else {
+      $set = "_$set";
+      return $self->can($set) ? $self->$set($val) : $self->mk_classdata($set => $val);      
+  }  
+}
+
 1;
 
 =head1 AUTHORS