NAME

InterMine::Model::Reference - represents a reference in an InterMine class

SYNOPSIS

use InterMine::Model::Reference
...
my $field = InterMine::Model::Reference->new(name => 'protein',
                                             model => $model,
                                             referenced_type_name => $ref_type,
                                             reverse_reference_name =>
                                                        $reverse_reference);
...

DESCRIPTION

Objects of this class describe the references and collections of a class in an InterMine model. Reference objects are generally part of ClassDescriptor objects.

AUTHOR

FlyMine <support@flymine.org>

BUGS

Please report any bugs or feature requests to support@flymine.org.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc InterMine::Model::Reference

You can also look for information at:

COPYRIGHT & LICENSE

Copyright 2006,2007,2008,2009 FlyMine, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

FUNCTIONS

referenced_type_name

Usage   : $name = $ref->referenced_type_name();
Function: Returns the name of the type at the other end of this reference
Args    : none

referenced_classdescriptor

Usage   : $cd = $ref->referenced_classdescriptor();
Function: Returns the ClassDescriptor of the other end of this reference
Args    : none

rev_referenced_classdescriptor

Usage   : $cd = $ref->rev_referenced_classdescriptor();
Function: Returns the ClassDescriptor of the other end of this reference
Args    : none

reverse_reference

Usage   : $ref = $ref->reverse_reference();
Function: Return the Reference object of the reverse reference
Args    : none

has_reverse_reference

Usage   : if ($ref->has_reverse_reference()) { ... }
Function: Return true if and only if this reference has a reverse reference in
          the model
Args    : none

reverse_reference_name

Usage   : $name = $ref->reverse_reference_name();
Function: Return the name of the reverse reference - ie. the name of the field
          in the referenced class that references this class
Args    : none

is_many_to_many

Function: Return true if this reference is one end of a many-to-many relation,
          ie. this end is a collection and the other end is a collection
Args    : none

is_many_to_one

Function: Return true if this is the reference end of a one-to-many relation,
          ie. this end is a reference and the other end is a collection
Args    : none

is_many_to_0

Function: Return true if this is a collection and there is no reverse reference
Args    : none

is_one_to_many

Function: Return true if this is the collection end of a one-to-many relation,
          ie. this end is a collection and the other end is a reference
Args    : none

is_one_to_0

Function: Return true if this is a reference and there is no reverse reference