blob: c3cabfa1a7bc071784942aa85c708d6edab3c55e [file] [log] [blame]
package KorAP::XML::Tokenizer::Token;
use strict;
use warnings;
use Mojo::DOM;
use constant {
POS => 0,
CONTENT => 1,
ID => 2,
DOM => 3,
HASH => 4,
};
sub new {
bless [], shift;
};
sub type {
'token';
};
sub set_pos {
$_[0]->[POS] = $_[1];
};
sub get_pos {
$_[0]->[POS];
};
sub set_content {
$_[0]->[CONTENT] = $_[1];
};
sub get_content {
$_[0]->[CONTENT];
};
sub set_id {
$_[0]->[ID] = $_[1];
};
sub get_id {
$_[0]->[ID];
};
sub dom {
if ($_[0]->[DOM]) {
return $_[0]->[DOM];
}
else {
my $c = Mojo::DOM->new($_[0]->[CONTENT]);
$c->xml(1);
return $_[0]->[DOM] = $c;
};
};
sub set_hash {
return $_[0]->[HASH] = $_[1];
};
sub get_hash {
return $_[0]->[HASH];
};
sub to_string {
my $v = shift;
{
no warnings;
return '[(' . $v->[POS] . ')' .
$v->[CONTENT] . '-' . $v->[ID] . ']';
};
};
1;