SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG

 
 

perl-Devel-EnforceEncapsulation rpm build for : openSUSE Tumbleweed. For other distributions click perl-Devel-EnforceEncapsulation.

Name : perl-Devel-EnforceEncapsulation
Version : 0.51 Vendor : obs://build_opensuse_org/devel:languages:perl
Release : 4.68 Date : 2024-08-05 20:05:36
Group : Development/Libraries/Perl Source RPM : perl-Devel-EnforceEncapsulation-0.51-4.68.src.rpm
Size : 0.01 MB
Packager : (none)
Summary : Find access violations to blessed objects
Description :
Encapsulation is the practice of creating subroutines to access the
properties of a class instead of accessing those properties directly. The
advantage of good encapsulation is that the author is permitted to change
the internal implementation of a class without breaking its usage.

Object-oriented programming in Perl is most commonly implemented via
blessed hashes. This practice makes it easy for users of a class to violate
encapsulation by simply accessing the hash values directly. Although less
common, the same applies to classes implemented via blessed arrays,
scalars, filehandles, etc.

This module is a hack to block those direct accesses. If you try to access
a hash value of an object from it\'s own class, or a superclass or subclass,
all goes well. If you try to access a hash value from any other package, an
exception is thrown. The same applies to the scalar value of a blessed
scalar, entry in a blessed array, etc.

To be clear: this class is NOT intended for strict enforcement of
encapsulation. If you want bullet-proof encapsulation, use inside-out
objects or the like. Instead, this module is intended to be a development
or debugging aid in catching places where direct access is used against
classes implemented as blessed hashes.

To repeat: the encapsulation enforced here is a hack and is easily
circumvented. Please use this module for good (finding bugs), not evil
(making life harder for downstream developers).

RPM found in directory: /packages/linux-pbone/ftp5.gwdg.de/pub/opensuse/repositories/devel:/languages:/perl:/CPAN-D/openSUSE_Tumbleweed/noarch

Content of RPM  Provides Requires

Download
ftp.icm.edu.pl  perl-Devel-EnforceEncapsulation-0.51-4.68.noarch.rpm
     

Provides :
perl(Devel::EnforceEncapsulation)
perl-Devel-EnforceEncapsulation

Requires :
perl(:MODULE_COMPAT_5.40.0)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsZstd) <= 5.4.18-1


Content of RPM :
/usr/lib/perl5/vendor_perl/5.40.0/Devel
/usr/lib/perl5/vendor_perl/5.40.0/Devel/EnforceEncapsulation.pm
/usr/share/doc/packages/perl-Devel-EnforceEncapsulation
/usr/share/doc/packages/perl-Devel-EnforceEncapsulation/CHANGES
/usr/share/doc/packages/perl-Devel-EnforceEncapsulation/LICENSE
/usr/share/doc/packages/perl-Devel-EnforceEncapsulation/README
/usr/share/man/man3/Devel::EnforceEncapsulation.3pm.gz

 
ICM
This page is using cookies. Read moreOK, I understand