package Catalyst::DispatchType;
-use strict;
-use base 'Class::Accessor::Fast';
+use Moose;
+with 'MooseX::Emulate::Class::Accessor::Fast';
+no Moose;
=head1 NAME
=head1 DESCRIPTION
-This is an abstract base class for Dispatch Types.
+This is an abstract base class for Dispatch Types.
+
+From a code perspective, dispatch types are used to find which actions
+to call for a given request URL. Website authors will typically work
+with them via subroutine names attributes; a description of dispatch
+at the attribute/URL level is given in L<Catalyst::Manual::Intro>.
=head1 METHODS
=head2 $self->register( $c, $action )
abstract method, to be implemented by dispatchtypes. Takes a
-context object and a L<Catalyst::Action> object.
+context object and a L<Catalyst::Action> object.
Should return true if it registers something, or false otherwise.
sub uri_for_action { }
-=head1 AUTHOR
+=head2 $self->expand_action
+
+Default fallback, returns nothing. See L<Catalyst::Dispatcher> for more info
+about expand_action.
+
+=cut
+
+sub expand_action { }
+
+sub _is_low_precedence { 0 }
-Matt S Trout
-Sebastian Riedel, C<sri@cpan.org>
+=head1 AUTHORS
+
+Catalyst Contributors, see Catalyst.pm
=head1 COPYRIGHT
-This program is free software, you can redistribute it and/or modify it under
+This library is free software. You can redistribute it and/or modify it under
the same terms as Perl itself.
=cut
+__PACKAGE__->meta->make_immutable;
+
1;