Initial Commit
This commit is contained in:
93
database/perl/vendor/lib/XML/LibXML/Boolean.pm
vendored
Normal file
93
database/perl/vendor/lib/XML/LibXML/Boolean.pm
vendored
Normal file
@@ -0,0 +1,93 @@
|
||||
# $Id$
|
||||
#
|
||||
#
|
||||
# This is free software, you may use it and distribute it under the same terms as
|
||||
# Perl itself.
|
||||
#
|
||||
# Copyright 2001-2003 AxKit.com Ltd., 2002-2006 Christian Glahn, 2006-2009 Petr Pajas
|
||||
#
|
||||
#
|
||||
|
||||
package XML::LibXML::Boolean;
|
||||
use XML::LibXML::Number;
|
||||
use XML::LibXML::Literal;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use vars qw ($VERSION);
|
||||
|
||||
$VERSION = "2.0206"; # VERSION TEMPLATE: DO NOT CHANGE
|
||||
|
||||
use overload
|
||||
'""' => \&value,
|
||||
'<=>' => \&cmp;
|
||||
|
||||
sub new {
|
||||
my $class = shift;
|
||||
my ($param) = @_;
|
||||
my $val = $param ? 1 : 0;
|
||||
bless \$val, $class;
|
||||
}
|
||||
|
||||
sub True {
|
||||
my $class = shift;
|
||||
my $val = 1;
|
||||
bless \$val, $class;
|
||||
}
|
||||
|
||||
sub False {
|
||||
my $class = shift;
|
||||
my $val = 0;
|
||||
bless \$val, $class;
|
||||
}
|
||||
|
||||
sub value {
|
||||
my $self = shift;
|
||||
$$self;
|
||||
}
|
||||
|
||||
sub cmp {
|
||||
my $self = shift;
|
||||
my ($other, $swap) = @_;
|
||||
if ($swap) {
|
||||
return $other <=> $$self;
|
||||
}
|
||||
return $$self <=> $other;
|
||||
}
|
||||
|
||||
sub to_number { XML::LibXML::Number->new($_[0]->value); }
|
||||
sub to_boolean { $_[0]; }
|
||||
sub to_literal { XML::LibXML::Literal->new($_[0]->value ? "true" : "false"); }
|
||||
|
||||
sub string_value { return $_[0]->to_literal->value; }
|
||||
|
||||
1;
|
||||
__END__
|
||||
|
||||
=head1 NAME
|
||||
|
||||
XML::LibXML::Boolean - Boolean true/false values
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
XML::LibXML::Boolean objects implement simple boolean true/false objects.
|
||||
|
||||
=head1 API
|
||||
|
||||
=head2 XML::LibXML::Boolean->True
|
||||
|
||||
Creates a new Boolean object with a true value.
|
||||
|
||||
=head2 XML::LibXML::Boolean->False
|
||||
|
||||
Creates a new Boolean object with a false value.
|
||||
|
||||
=head2 value()
|
||||
|
||||
Returns true or false.
|
||||
|
||||
=head2 to_literal()
|
||||
|
||||
Returns the string "true" or "false".
|
||||
|
||||
=cut
|
||||
Reference in New Issue
Block a user