NAME
Boilerplater::Symbol - Abstract base class for Boilerplater symbols.
DESCRIPTION
Boilerplater::Symbol serves as an abstract parent class for entities which may live in the global namespace, such as classes, functions, methods, and variables.
CONSTRUCTOR
my $symbol = MySymbol->new(
parcel => $parcel, # default: special
exposure => $exposure, # required
class_name => "Crustacean::Lobster::LobsterClaw", # default: undef
class_cnick => "LobClaw", # default: special
);
parcel - A Boilerplater::Parcel, or a string that can be used to create/retrieve one. If not supplied, will be assigned to the default Parcel.
exposure - The scope in which the symbol is exposed. Must be 'public', 'parcel', 'private', or 'local'.
class_name - A optional class name, consisting of one or more components separated by "::". Each component must start with a capital letter, contain at least one lower-case letter, and consist entirely of the characters [A-Za-z0-9].
class_cnick - The C nickname associated with the supplied class name. If not supplied, will be derived if possible from
class_name
by extracting the last class name component.
OBJECT METHODS
get_parcel get_class_name get_class_cnick
Getters.
get_prefix get_Prefix get_PREFIX
Get a string prefix, delegating to parcel
member var.
public parcel private local
if ( $sym->public ) { do_x() }
elsif ( $sym->parcel ) { do_y() }
Indicate whether the symbol matches a given access level.
equals
do_stuff() if $sym->equals($other_sym);
Returns true if the symbols are "equal", false otherwise.
COPYRIGHT AND LICENSE
Copyright 2008-2009 Marvin Humphrey
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.