search spec components factored out of T365
[catagits/Reaction.git] / lib / Reaction / InterfaceModel / Action / Search / UpdateSpec.pm
1 package Reaction::InterfaceModel::Action::Search::UpdateSpec;
2
3 use Reaction::Class;
4 #use aliased 'BrokerInterface::SearchSpec';
5 use Method::Signatures::Simple;
6 use Reaction::InterfaceModel::Reflector::SearchSpec;
7 use Carp qw( confess );
8
9 use namespace::clean -except => 'meta';
10
11 extends 'Reaction::InterfaceModel::Action';
12
13 my %ReflectionCache;
14
15 method build_reflected_search_spec () {
16     confess sprintf "Class %s did not override the build_reflected_search_spec method", ref($self) || $self;
17 }
18
19 method _reflection_info () {
20     $ReflectionCache{ ref($self) || $self }
21         ||= reflect_attributes_from_target $self->build_reflected_search_spec;
22 }
23
24 with 'Reaction::InterfaceModel::Search::UpdateSpec';
25
26 1;
27