summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/bibtex/biber/lib/Biber/Entries.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/bibtex/biber/lib/Biber/Entries.pm')
-rw-r--r--Master/texmf-dist/source/bibtex/biber/lib/Biber/Entries.pm111
1 files changed, 111 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/bibtex/biber/lib/Biber/Entries.pm b/Master/texmf-dist/source/bibtex/biber/lib/Biber/Entries.pm
new file mode 100644
index 00000000000..90ebff7ce0b
--- /dev/null
+++ b/Master/texmf-dist/source/bibtex/biber/lib/Biber/Entries.pm
@@ -0,0 +1,111 @@
+package Biber::Entries;
+#use feature 'unicode_strings';
+
+=encoding utf-8
+
+=head1 NAME
+
+Biber::Entries
+
+=head2 new
+
+ Initialize a Biber::Entries object
+
+=cut
+
+sub new {
+ my ($class) = @_;
+ my $self = bless {}, $class;
+ return $self;
+}
+
+=head2 notnull
+
+ Test for an empty object
+
+=cut
+
+sub notnull {
+ my $self = shift;
+ my @arr = keys %$self;
+ return $#arr > -1 ? 1 : 0;
+}
+
+=head2 entry_exists
+
+ Boolean values sub to tell if there is an entry
+ for the passed citation key.
+
+=cut
+
+sub entry_exists {
+ my $self = shift;
+ my $citekey = lc(shift);
+ return defined($self->{$citekey}) ? 1 : 0;
+}
+
+=head2 entry
+
+ Returns a Biber::Entry object for a given
+ citekey
+
+=cut
+
+sub entry {
+ my $self = shift;
+ my $citekey = lc(shift);
+ return $self->{$citekey};
+}
+
+=head2 sorted_keys
+
+ Returns a sorted array of Biber::Entry object keys
+
+=cut
+
+sub sorted_keys {
+ my $self = shift;
+ use locale;
+ return sort keys %$self;
+}
+
+=head2 add_entry
+
+ Adds a Biber::Entry to the Biber::Entries object
+
+=cut
+
+sub add_entry {
+ my $self = shift;
+ my ($key, $entry) = @_;
+ $key = lc($key);
+ $self->{$key} = $entry;
+ return;
+}
+
+=head1 AUTHORS
+
+François Charette, C<< <firmicus at gmx.net> >>
+Philip Kime C<< <philip at kime.org.uk> >>
+
+=head1 BUGS
+
+Please report any bugs or feature requests on our sourceforge tracker at
+L<https://sourceforge.net/tracker2/?func=browse&group_id=228270>.
+
+=head1 COPYRIGHT & LICENSE
+
+Copyright 2009-2011 François Charette and Philip Kime, all rights reserved.
+
+This module is free software. You can redistribute it and/or
+modify it under the terms of the Artistic License 2.0.
+
+This program is distributed in the hope that it will be useful,
+but without any warranty; without even the implied warranty of
+merchantability or fitness for a particular purpose.
+
+=cut
+
+1;
+
+# vim: set tabstop=2 shiftwidth=2 expandtab: