Information about the package, perl-Devel-EnforceEncapsulation, which is shipped with common Linux distributions. The perl-Devel-EnforceEncapsulation package is designed for, Find access violations to blessed objects.
Package Name:
perl-Devel-EnforceEncapsulation
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 its 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).
Architecture:
noarch
Version:
0.50
Release:
3.el6
Size:
23 k
Repository:
epel
From Repository:
Licence:
GPL+ or Artistic
Control the perl-Devel-EnforceEncapsulation package with the following handy commands outlined below.
yum install perl-Devel-EnforceEncapsulation
This command will install perl-Devel-EnforceEncapsulation on the server.
yum remove perl-Devel-EnforceEncapsulation
This command will un-install perl-Devel-EnforceEncapsulation on the server. When you run this command, you will be asked if you are sure that you want to remove perl-Devel-EnforceEncapsulation, so you have to manually confirm that you want to do this.
yum -y remove perl-Devel-EnforceEncapsulation
This command will un-install perl-Devel-EnforceEncapsulation on the server. When you run this command with th e -y flag, you will not be prompted to check that you are sure you want to remove the package - so be sure you absolutely want to remove perl-Devel-EnforceEncapsulation when using the -y flag.
yum update perl-Devel-EnforceEncapsulation
This command will update perl-Devel-EnforceEncapsulation to the latest version. When you run this command, you will be asked if you are sure that you want to remove perl-Devel-EnforceEncapsulation, so you have to manually confirm that you want to do this.
yum -y update perl-Devel-EnforceEncapsulation
This command will update perl-Devel-EnforceEncapsulation to the latest version. When you run this command with the -y flag, you will not be prompted to check that you are sure you want to remove the package - so be sure you absolutely want to remove perl-Devel-EnforceEncapsulation when using the -y flag.
yum info perl-Devel-EnforceEncapsulation
This command will show you core information about the perl-Devel-EnforceEncapsulation package.
yum deplist perl-Devel-EnforceEncapsulation
This command will show you the dependencies for perl-Devel-EnforceEncapsulation. Thankfully, when using Yum, if dependencies are required, these are also installed at the same time so you don't have to worry too much about that.
yum check-update perl-Devel-EnforceEncapsulation
This command will check if there is an update waiting on perl-Devel-EnforceEncapsulation. When you run this command this will return nothing if there is nothing to update, or, will return the package name if the package is due to be updated.