table of contents
SWISS::ListBase(3pm) | User Contributed Perl Documentation | SWISS::ListBase(3pm) |
Name¶
SWISS::ListBase.pmDescription¶
Base class for list oriented classes in the SWISS:: hierarchy. It provides a set of quite general list manipulation methods to inheriting classes.Attributes¶
- list
- Holds an array, the essential content of the object. Array elements can be, and are in fact frequently, arrays themselves.
Methods¶
Standard methods¶
- new
- initialize
Reading methods¶
- head
- Return the first element of the list
- tail
- Return all but the first element of the list
- get pattern
- Return a list of all elements matched by $pattern. Only
exact matches are returned, but you can use Perls regular expressions.
Example:
$listBaseObject->set('EMBL', 'TREMBL', 'SWISSPROT'); $listBaseObject->get('.*EMBL');
- get @patternList
- To be used if the ListBase elements are arrays. An array is
returned if all its elements are matched exactly by the elements from
@patternList with the same index. Empty elements in @patternList always
match. Example:
$listBaseObject->set(['EMBL', 'M1', 'G1', '-'], ['EMBL', 'M2', 'A2', '-'], ['EMBL', 'M2', 'G3', 'ALT_TERM'], ['PROSITE', 'P00001', '1433_2', '1']); $listBaseObject->get('EMBL'); returns (['EMBL', 'M1', 'G1', '-'], ['EMBL', 'M2', 'A2', '-'], ['EMBL', 'M2', 'G3', 'ALT_TERM']) $listBaseObject->get('',M2); returns (['EMBL', 'M2', 'A2', '-'], ['EMBL', 'M2', 'G3', 'ALT_TERM']);
- getObject pattern
- getObject @patternList
- Same as get, but returns the results wrapped in a new ListBase object.
- filter
- Returns a new object containing all of the elements that
match a search criteria. It takes a function as the only parameter. This
function should expect a list element, and return true or false depending
on whether the element matches the criteria. If the object is not a
ListBase object but member of a subclass, a new object of that subclass
will be returned.
$tmp = $entry->CCs->filter(&ccTopic('FUNCTION'));
- attributeEquals(string attributeName, string attributeValue)
- Filter function. If the elements of a ListBase object are
objects, they will be returned by this function if they have the attribute
and it equals the attributeValue.
Example:
- attributeMatchedBy(string attributeName, string pattern)
- Filter function. If the elements of a ListBase object are
objects, they will be returned by this function if they have the attribute
and the attribute is matched by the pattern.
Example:
- isEmpty
- size
- The number of list elements in the object
- elements
- Returns the array of elements
- hasEvidenceTag $arrayPointer $tag
- Returns true if the array pointed to by $arrayPointer has the evidence tag $tag
- getEvidenceTags $arrayPointer
- returns the array of evidence tags of $arrayPointer
- getEvidenceTagsString $arrayPointer
- returns a string containing the evidence tags of $arrayPointer
Writing methods¶
- item offset[, newValue]
- returns the list element at a specific offset, and optionally sets it to a new value. Negative offsets are relative to the end of the list.
- push list
- pop
- shift
- unshift list
- splice [offset[, length[, list]]]
- set list
- Sets the list attribute to @list
- add list
- Synonym for push
- merge (ListBase)
- Appends the elements of ListBase to the object
- sort [function]
- Applies a sort function to the list attribute, or by default, alphabetical sorting. Should be overwritten in derived classes with an adapted sort function.
- del pattern
- Deletes all items fully matching $pattern. Example:
$listBaseObject->set('EMBL','TREMBL', 'SWISSPROT'); $listBaseObject->del('EMBL'); $listBaseObject->list(); returns ('TREMBL','SWISSPROT').
$listBaseObject->del('.*EMBL')
- del @patternList
- To be used if the ListBase objects are arrays. An array is
deleted if all its elements are matched by the elements from @patternList
with the same index.
$listBaseObject->del('','', 'A2')
(['EMBL', 'M1', 'G1', '-'], ['EMBL', 'M2', 'G3', 'ALT_TERM'], ['PROSITE', 'P00001', '1433_2', '1'])
- update
- unique
- Makes sure each element is contained only once in a
ListBase object. The second and subsequent occurrences of the same object
are deleted. Example:
$listBaseObject->set(EMBL, TREMBL, SWISSPROT); $listBaseObject->add(EMBL, MGD, EMBL); $listBaseObject->unique();
- setEvidenceTags $arrayPointer @array
- sets the evidence Tags of the array pointed to by
$arrayPointer to the contents of @array
foreach $dr ($entry->DRs->elements()) { $entry->DRs->setEvidenceTags($dr, 'E2', 'E3'); }
- addEvidenceTag $arrayPointer $tag
- adds $tag to the evidence tags of $arrayPointer
- deleteEvidenceTags $arrayPointer $evidenceTag
- deletes $evidenceTag from the array pointed to by
$arrayPointer
foreach $dr ($entry->DRs->elements()) { $entry->DRs->deleteEvidenceTags($dr, 'EC2'); }
2006-01-26 | perl v5.10.1 |