pervasive type constraints
[scpubgit/DX.git] / lib / DX / ActionBuilder / Null.pm
index 1ed847e..41109f6 100644 (file)
@@ -4,22 +4,26 @@ use DX::Class;
 
 with 'DX::Role::ActionBuilder';
 
-has target_path => (is => 'ro');
-
-around target_path => sub {
-  my ($orig, $self) = (shift, shift);
-  return undef unless ref($self);
-  return $self->$orig(@_);
-};
+has target_path => (is => 'ro', isa => ValuePath);
 
 sub can_set_value { 0 }
 
+sub aperture_for_set_value { [] }
+
 sub action_for_set_value { undef }
 
+sub can_add_member { 0 }
+
+sub aperture_for_add_member { [] }
+
 sub action_for_add_member { undef }
 
+sub aperure_for_set_member { [] }
+
 sub action_for_set_member { undef }
 
+sub aperture_for_remove_member { [] }
+
 sub action_for_remove_member { undef }
 
 sub specialize_for_member {