package GO::GOTerm;
sub new
{
    my ($type,%input) = @_;
    my $self = {};
    $self->{'id'}=$input{'id'};
    $self->{'term'}=undef;
    $self->{'aspect'}=undef;
    $self->{'definition'}=undef;
    $self->{'date_created'}=undef;
    $self->{'created_by'}=undef;
    bless $self, $type;
    return $self;
}

sub id
{
    my $obj = shift;
    @_ ? $obj->{id} = shift
       : $obj->{id};
}

sub term
{
    my $obj = shift;
    @_ ? $obj->{term} = shift
       : $obj->{term};
}

sub aspect
{
    my $obj = shift;
    @_ ? $obj->{aspect} = shift
       : $obj->{aspect};
}
sub definition
{
    my $obj = shift;
    @_ ? $obj->{definition} = shift
       : $obj->{definition};
}
sub date_created
{
    my $obj = shift;
    @_ ? $obj->{date_created} = shift
       : $obj->{date_created};

}
sub created_by
{
    my $obj = shift;
    @_ ? $obj->{created_by} = shift
       : $obj->{created_by};
}

sub get_XML
{
    my $obj = shift;
    #Code to generate XML from the data
}

1;