MAGE::...mension(3pm)

πŸ’– MAGE::...mension(3pm) πŸ’–

okay bestie, welcome to the manual page for Bio::MAGE::BioAssayData::QuantitationTypeDimension β€” that's the class, and it lives in User Contributed Perl Documentation under the manpage name MAGE::...mension(3pm) (iykyk, the name gets truncated, it's giving ✨mysterious✨). This is part 1 of a long one, so buckle up, there's more coming. πŸŽ€


✨ NAME ✨

Bio::MAGE::BioAssayData::QuantitationTypeDimension β€” the class for the MAGE-OM API. periodt.


✨ SYNOPSIS ✨

like, here's the whole vibe in code, no cap:

  use Bio::MAGE::BioAssayData::QuantitationTypeDimension

  # creating an empty instance
  my $quantitationtypedimension = Bio::MAGE::BioAssayData::QuantitationTypeDimension->new();

  # creating an instance with existing data
  my $quantitationtypedimension = Bio::MAGE::BioAssayData::QuantitationTypeDimension->new(
        name=>$name_val,
        identifier=>$identifier_val,
        auditTrail=>\@audit_list,
        propertySets=>\@namevaluetype_list,
        quantitationTypes=>\@quantitationtype_list,
        descriptions=>\@description_list,
        security=>$security_ref,
  );

  # 'name' attribute
  my $name_val = $quantitationtypedimension->name(); # getter
  $quantitationtypedimension->name($value); # setter

  # 'identifier' attribute
  my $identifier_val = $quantitationtypedimension->identifier(); # getter
  $quantitationtypedimension->identifier($value); # setter

  # 'auditTrail' association
  my $audit_array_ref = $quantitationtypedimension->auditTrail(); # getter
  $quantitationtypedimension->auditTrail(\@audit_list); # setter

  # 'propertySets' association
  my $namevaluetype_array_ref = $quantitationtypedimension->propertySets(); # getter
  $quantitationtypedimension->propertySets(\@namevaluetype_list); # setter

  # 'quantitationTypes' association
  my $quantitationtype_array_ref = $quantitationtypedimension->quantitationTypes(); # getter
  $quantitationtypedimension->quantitationTypes(\@quantitationtype_list); # setter

  # 'descriptions' association
  my $description_array_ref = $quantitationtypedimension->descriptions(); # getter
  $quantitationtypedimension->descriptions(\@description_list); # setter

  # 'security' association
  my $security_ref = $quantitationtypedimension->security(); # getter
  $quantitationtypedimension->security($security_ref); # setter

✨ DESCRIPTION ✨

straight from the MAGE-OM documentation for the QuantitationTypeDimension class:

An ordered list of quantitationTypes.

that's it, that's the whole thing. an ordered list of quantitationTypes. slay. πŸ’…


✨ INHERITANCE ✨

Bio::MAGE::BioAssayData::QuantitationTypeDimension has these superclasses, aka its ancestors, its lineage, its main character origin story:

  • Bio::MAGE::Identifiable

✨ CLASS METHODS ✨

okay so these are the methods you can call without even having an instance first β€” just use the

Bio::MAGE::BioAssayData::QuantitationTypeDimension->methodname()

syntax and you're good. 🫢

new()

new(%args)

The object constructor new() takes these optional named-value style arguments (all optional, bestie, no pressure):

  • name β€” sets the value of the name attribute (this one was inherited from the class Bio::MAGE::Identifiable).
  • identifier β€” sets the value of the identifier attribute (also inherited from Bio::MAGE::Identifiable).
  • auditTrail β€” sets the value of the auditTrail association (inherited from Bio::MAGE::Describable).

The value must be of type: array of Bio::MAGE::AuditAndSecurity::Audit.

  • propertySets β€” sets the value of the propertySets association (inherited from Bio::MAGE::Extendable).

The value must be of type: array of Bio::MAGE::NameValueType.

  • quantitationTypes β€” sets the value of the quantitationTypes association.

The value must be of type: array of Bio::MAGE::QuantitationType::QuantitationType.

  • descriptions β€” sets the value of the descriptions association (inherited from Bio::MAGE::Describable).

The value must be of type: array of Bio::MAGE::Description::Description.

  • security β€” sets the value of the security association (inherited from Bio::MAGE::Describable).

The value must be of type: instance of Bio::MAGE::AuditAndSecurity::Security.

$obj = class->new(%parameters)

The new() method is the class constructor. the big one. the icon.

  • Parameters: if you hand it a list of name/value parameters, the corresponding slots, attributes, or associations get their initial values set by the constructor.
  • Return value: it returns a reference to an object of the class. 🎁
  • Side effects: it invokes the initialize() method if the class defines one.

@names = class->get_slot_names()

get_slot_names() is how you grab the name of every slot defined in a given class.

NOTE: the list of names does not include attribute or association names. πŸ™ˆ
  • Return value: a list of the names of all slots defined for this class.
  • Side effects: none.

@name_list = get_attribute_names()

returns the list of attribute data members for this class.

@name_list = get_association_names()

returns the list of association data members for this class.

@class_list = get_superclasses()

returns the list of superclasses for this class.

@class_list = get_subclasses()

returns the list of subclasses for this class.

$name = class_name()

returns the full class name for this class.

$package_name = package_name()

returns the base package name (i.e. no 'namespace::') of the package that contains this class.

%assns = associations()

returns the association meta-information in a hash where the keys are the association names and the values are Association objects that give you the meta-information for the association.


✨ INSTANCE METHODS ✨

$obj_copy = $obj->new()

when you invoke this with an existing object reference instead of a class name, new() acts as a copy constructor β€” the new object's initial values get set to those of the existing object. it's giving clone energy, but make it legal. πŸ‘‘

  • Parameters: no input parameters are used in the copy constructor, the initial values are taken directly from the object to be copied.
  • Return value: it returns a reference to an object of the class.
  • Side effects: it invokes the initialize() method if the class defines one.

$obj->set_slots(%parameters)

$obj->set_slots(@name_list, @value_list)

set_slots() lets you set a bunch of slots all at once, because who has time for one at a time. it has two different invocation methods: the first takes a named parameter list, the second takes two array references. ✨

  • Return value: none.
  • Side effects: will call croak() if a slot_name is used that the class doesn't define. so like, don't do that. πŸ’€

@obj_list = $obj->get_slots(@name_list)

get_slots() grabs the values of a bunch of slots at the same time.

  • Return value: a list of instance objects.
  • Side effects: none.

$val = $obj->set_slot($name,$val)

set_slot() sets the slot $name to the value $val.

  • Return value: the new value of the slot, i.e. $val.
  • Side effects: none.

$val = $obj->get_slot($name)

get_slot() is used to get the values of a number of slots at the same time.

  • Return value: a single slot value, or undef if the slot has not been initialized.
  • Side effects: none.

🌸 ATTRIBUTES 🌸

attributes are simple data types that belong to a single instance of a class. in the Perl implementation of the MAGE-OM classes, the interface to attributes is implemented using separate setter and getter methods for each attribute. very demure, very mindful.

Bio::MAGE::BioAssayData::QuantitationTypeDimension has the following attribute accessor methods:

name

methods for the name attribute.

from the MAGE-OM documentation:

The potentially ambiguous common identifier.

$val = $quantitationtypedimension->setName($val)

the restricted setter method for the name attribute.

  • Input parameters: the value to which the name attribute will be set.
  • Return value: the current value of the name attribute.
  • Side effects: none.
  • Exceptions: will call croak() if no input parameters are specified, or if too many input parameters are specified. 😭

$val = $quantitationtypedimension->getName()

the restricted getter method for the name attribute.

  • Input parameters: none.
  • Return value: the current value of the name attribute.
  • Side effects: none.
  • Exceptions: will call croak() if any input parameters are specified.

identifier

methods for the identifier attribute.

from the MAGE-OM documentation:

An identifier is an unambiguous string that is unique within the scope (i.e. a document, a set of related documents, or a repository) of its use.

$val = $quantitationtypedimension->setIdentifier($val)

the restricted setter method for the identifier attribute.

  • Input parameters: the value to which the identifier attribute will be set.
  • Return value: the current value of the identifier attribute.
  • Side effects: none.
  • Exceptions: will call croak() if no input parameters are specified, or if too many input parameters are specified.

$val = $quantitationtypedimension->getIdentifier()

the restricted getter method for the identifier attribute.

  • Input parameters: none.
  • Return value: the current value of the identifier attribute.
  • Side effects: none.
  • Exceptions: will call croak() if any input parameters are specified.

πŸ¦‹ ASSOCIATIONS πŸ¦‹

associations are references to other classes. in MAGE-OM, associations have a cardinality that determines the minimum and maximum number of instances of the 'other' class that may be included in the association. here's the whole rundown, bestie, memorize it:

  1. There must be exactly one item in the association, i.e. this is a mandatory data field.
  2. 0..1 β€” there may be one item in the association, i.e. this is an optional data field.
  3. 1..N β€” there must be one or more items in the association, i.e. this is a mandatory data field, with list cardinality.
  4. 0..N β€” there may be one or more items in the association, i.e. this is an optional data field, with list cardinality.

Bio::MAGE::BioAssayData::QuantitationTypeDimension has the following association accessor methods:

auditTrail

methods for the auditTrail association.

from the MAGE-OM documentation:

A list of Audit instances that track changes to the instance of Describable.
  • $array_ref = $quantitationtypedimension->setAuditTrail($array_ref) β€” the restricted setter for the auditTrail association πŸŽ€
    • Input parameters: the value you're setting the auditTrail association to β€” a reference to an array of objects of type Bio::MAGE::AuditAndSecurity::Audit
    • Return value: the current value of the auditTrail association β€” a reference to an array of objects of type Bio::MAGE::AuditAndSecurity::Audit
    • Side effects: none
    • Exceptions: it will call croak() if you pass no input parameters, or if you pass too many input parameters, or if $array_ref isn't a reference to an array of Bio::MAGE::AuditAndSecurity::Audit instances
  • $array_ref = $quantitationtypedimension->getAuditTrail() β€” the restricted getter for the auditTrail association ✨
    • Input parameters: none
    • Return value: the current value of the auditTrail association β€” a reference to an array of objects of type Bio::MAGE::AuditAndSecurity::Audit
    • Side effects: none
    • Exceptions: it will call croak() if you pass any input parameters at all
  • $val = $quantitationtypedimension->addAuditTrail(@vals) β€” bestie, the auditTrail association has list cardinality, so it can hold more than one value 🫢 this one adds the current list of objects into the auditTrail association.
    • Input parameters: the list of values @vals to add to the auditTrail association. NOTE: submitting a single value is permitted.
    • Return value: the number of items stored in the slot after adding @vals
    • Side effects: none
    • Exceptions: it will call croak() if you pass no input parameters, or if any of the objects in @vals isn't an instance of class Bio::MAGE::AuditAndSecurity::Audit

🌸 propertySets 🌸

Methods for the propertySets association.

From the MAGE-OM documentation:

Allows specification of name/value pairs. Meant to primarily help in-house, pipeline processing of instances by providing a place for values that aren't part of the specification proper.
  • $array_ref = $quantitationtypedimension->setPropertySets($array_ref) β€” the restricted setter for the propertySets association πŸ’…
    • Input parameters: the value you're setting the propertySets association to β€” a reference to an array of objects of type Bio::MAGE::NameValueType
    • Return value: the current value of the propertySets association β€” a reference to an array of objects of type Bio::MAGE::NameValueType
    • Side effects: none
    • Exceptions: it will call croak() if you pass no input parameters, or if you pass too many input parameters, or if $array_ref isn't a reference to an array of Bio::MAGE::NameValueType instances
  • $array_ref = $quantitationtypedimension->getPropertySets() β€” the restricted getter for the propertySets association πŸ¦‹
    • Input parameters: none
    • Return value: the current value of the propertySets association β€” a reference to an array of objects of type Bio::MAGE::NameValueType
    • Side effects: none
    • Exceptions: it will call croak() if you pass any input parameters at all
  • $val = $quantitationtypedimension->addPropertySets(@vals) β€” because the propertySets association has list cardinality, it may store more than one value πŸ“ this method adds the current list of objects in the propertySets association.
    • Input parameters: the list of values @vals to add to the propertySets association. NOTE: submitting a single value is permitted.
    • Return value: the number of items stored in the slot after adding @vals
    • Side effects: none
    • Exceptions: it will call croak() if you pass no input parameters, or if any of the objects in @vals isn't an instance of class Bio::MAGE::NameValueType

🌈 quantitationTypes 🌈

Methods for the quantitationTypes association.

From the MAGE-OM documentation:

The QuantitationTypes for this Dimension.
  • $array_ref = $quantitationtypedimension->setQuantitationTypes($array_ref) β€” the restricted setter for the quantitationTypes association πŸ‘‘
    • Input parameters: the value you're setting the quantitationTypes association to β€” a reference to an array of objects of type Bio::MAGE::QuantitationType::QuantitationType
    • Return value: the current value of the quantitationTypes association β€” a reference to an array of objects of type Bio::MAGE::QuantitationType::QuantitationType
    • Side effects: none
    • Exceptions: it will call croak() if you pass no input parameters, or if you pass too many input parameters, or if $array_ref isn't a reference to an array of Bio::MAGE::QuantitationType::QuantitationType instances
  • $array_ref = $quantitationtypedimension->getQuantitationTypes() β€” the restricted getter for the quantitationTypes association πŸ’œ
    • Input parameters: none
    • Return value: the current value of the quantitationTypes association β€” a reference to an array of objects of type Bio::MAGE::QuantitationType::QuantitationType
    • Side effects: none
    • Exceptions: it will call croak() if you pass any input parameters at all
  • $val = $quantitationtypedimension->addQuantitationTypes(@vals) β€” the quantitationTypes association has list cardinality, so yeah, it may store more than one value πŸ”₯ this method adds the current list of objects in the quantitationTypes association.
    • Input parameters: the list of values @vals to add to the quantitationTypes association. NOTE: submitting a single value is permitted.
    • Return value: the number of items stored in the slot after adding @vals
    • Side effects: none
    • Exceptions: it will call croak() if you pass no input parameters, or if any of the objects in @vals isn't an instance of class Bio::MAGE::QuantitationType::QuantitationType

πŸŽ€ descriptions πŸŽ€

Methods for the descriptions association.

From the MAGE-OM documentation:

Free hand text descriptions. Makes available the associations of Description to an instance of Describable.
  • $array_ref = $quantitationtypedimension->setDescriptions($array_ref) β€” the restricted setter for the descriptions association ✨
    • Input parameters: the value you're setting the descriptions association to β€” a reference to an array of objects of type Bio::MAGE::Description::Description
    • Return value: the current value of the descriptions association β€” a reference to an array of objects of type Bio::MAGE::Description::Description
    • Side effects: none
    • Exceptions: it will call croak() if you pass no input parameters, or if you pass too many input parameters, or if $array_ref isn't a reference to an array of Bio::MAGE::Description::Description instances
  • $array_ref = $quantitationtypedimension->getDescriptions() β€” the restricted getter for the descriptions association 🧚
    • Input parameters: none
    • Return value: the current value of the descriptions association β€” a reference to an array of objects of type Bio::MAGE::Description::Description
    • Side effects: none
    • Exceptions: it will call croak() if you pass any input parameters at all
  • $val = $quantitationtypedimension->addDescriptions(@vals) β€” the descriptions association has list cardinality, so it may store more than one value πŸ’– this method adds the current list of objects in the descriptions association.
    • Input parameters: the list of values @vals to add to the descriptions association. NOTE: submitting a single value is permitted.
    • Return value: the number of items stored in the slot after adding @vals
    • Side effects: none
    • Exceptions: it will call croak() if you pass no input parameters, or if any of the objects in @vals isn't an instance of class Bio::MAGE::Description::Description

πŸ’œ security πŸ’œ

Methods for the security association.

From the MAGE-OM documentation:

Information on the security for the instance of the class.
  • $val = $quantitationtypedimension->setSecurity($val) β€” the restricted setter for the security association πŸ”’
    • Input parameters: the value you're setting the security association to β€” one of the accepted enumerated values.
    • Return value: the current value of the security association β€” one of the accepted enumerated values.
    • Side effects: none
    • Exceptions: it will call croak() if you pass no input parameters, or if you pass too many input parameters, or if $val isn't an instance of class Bio::MAGE::AuditAndSecurity::Security
  • $val = $quantitationtypedimension->getSecurity() β€” the restricted getter for the security association πŸ›‘οΈ
    • Input parameters: none
    • Return value: the current value of the security association β€” an instance of type Bio::MAGE::AuditAndSecurity::Security.
    • Side effects: none
    • Exceptions: it will call croak() if you pass any input parameters at all

And then there's this little guy, just vibing at the bottom, no notes, no drama, pure main character energy 😌

sub initialize {

  my $self = shift;
  return 1;

}

✨ SLOTS, ATTRIBUTES, AND ASSOCIATIONS ✨

okay bestie so in the Perl implementation of MAGE-OM classes, there are literally three kinds of class data members, and you gotta know the difference or you're gonna be lost: slots, attributes, and associations. πŸ’…


🌸 SLOTS 🌸

So this API uses the word slot for a data member of the class that was not in the UML model, and it exists mostly for internal stuff. Translation: only touch these if you actually understand the inner workings of the API, no cap. Like, most of the time slots are just being used by generic methods β€” the ones in the XML writing and reading classes, for example. πŸ™ˆ

Slots get implemented with unified getter/setter methods, which is giving very much one-method-does-both energy:

  • $var = $obj->slot_name(); β€” grabs the current value of the slot. πŸ’–
  • $new_var = $obj->slot_name($new_var); β€” stores $new_var in the slot, and the return value is also $new_var (yes she gives it right back, iconic).
  • @names = $obj->get_slot_names() β€” returns the list of all slots in the class. ✨
DATA CHECKING: nope, no data type checking happens for these methods. she does not check. she trusts. 😭

πŸ¦‹ ATTRIBUTES AND ASSOCIATIONS πŸ¦‹

The terms attribute and association mean data members of the class that came directly from the UML model. so like, the legit ones, the ones with a paper trail. πŸ“œ

In the Perl implementation of MAGE-OM classes, association and attribute accessors get implemented using three separate methods:

  • get* β€” retrieves the current value. 🌈
    • NOTE: for associations, if the association has list cardinality, you get back an array reference. okay bestie, an array ref, not a plain list, noted.
    • DATA CHECKING: ensure that no argument is provided. she's not taking questions rn.
  • set* β€” sets the current value, replacing whatever was there before. out with the old, in with the new. πŸ’…
    • NOTE: for associations, if the association has list cardinality, the argument must be an array reference. and because of that whole situation, you probably should be using the add* methods instead. like, genuinely, use add*. 🫢
    • DATA CHECKING: for attributes, ensure that a single value is provided as the argument. for associations, if the association has list cardinality, ensure the argument is a reference to an array of instances of the correct MAGE-OM class β€” otherwise, ensure there's a single argument of the correct MAGE-OM class. so basically: right type, right shape, or she's gonna be pressed. 😀
  • add* β€” NOTE: only present in associations with list cardinality. πŸŽ€
    • Appends a list of objects to any values that may already be stored in the association. it's the "and also these" method, she's very additive, very generous, main character energy.
    • DATA CHECKING: ensure that all arguments are of the correct MAGE-OM class. every single one. not most of them. all of them.

πŸ’œ GENERIC METHODS πŸ’œ

The unified base class of all MAGE-OM classes, Bio::MAGE::Base, serves up a whole set of generic methods that will operate on slots, attributes, and associations. she's the mother of all of them fr fr:

  • $val = $obj->get_slot($name)
  • \@list_ref = $obj->get_slots(@name_list);
  • $val = $obj->set_slot($name,$val)
  • $obj->set_slots(%parameters)
  • $obj->set_slots(\@name_list, \@value_list)

See elsewhere in this page for a detailed description of these methods β€” yeah bestie, they're documented further up, go look, iykyk. πŸ‘‘


πŸ’€ BUGS πŸ’€

Please send bug reports to the project mailing list: (mged-mage 'at' lists 'dot' sf 'dot' net)

yes you actually have to decode the 'at' and 'dot' yourself, the email is being shy. πŸ™ˆ


πŸ‘‘ AUTHOR πŸ‘‘

Jason E. Stewart (jasons 'at' cpan 'dot' org)

the icon. the legend. the moment. we stan. πŸ’–


⭐ SEE ALSO ⭐

perl(1).

that's it, that's the list. go read perl(1) if you want more. 🌈


πŸ“ POD ERRORS πŸ“

Hey! The above document had some coding errors, which are explained below:

  • Around line 349:
    • '=item' outside of any '=over' β€” bestie the =item is just floating there. unanchored. no =over to hold her. 😭
  • Around line 434:
    • You forgot a '=back' before a '=head2' β€” she closed the heading but never closed the list, messy but relatable.
  • Around line 606:
    • Expected '=item 2'
  • Around line 611:
    • Expected '=item 3'
  • Around line 616:
    • Expected '=item 4'

so yeah, the numbering just kept going and nobody counted. the POD checker is the only one who noticed. πŸ’€


and that's a wrap on this whole page, bestie πŸŽ€ β€” brought to you by perl v5.32.0, dated 2020-11-27, from the MAGE::...mension(3pm) page in the User Contributed Perl Documentation. slay, stay hydrated, and always check your argument types. periodt. πŸ’…βœ¨