OpenNTF.org - CollectionEnumeration class
My Links (Not logged in)
Code Bin Search
 
Hosted by Prominic.NET
Rate This Code
5 - brilliant stuff
4 - very nice
3 - average
2 - needs work
1 - bad
   OpenNTF Code Bin
About This Code
Brief Description:
CollectionEnumeration class 
Rating:
Not Rated Yet 
Contributor:
Johan Känngård 
Category:
Lotusscript 
Type:
System info 
Document Release:
1.0 
Notes Version:
R4.x, R5.x, R6.x 
Last Modified:
17 Dec 2002 
OpenNTF Disclaimer

All of the program code and information presented in the OpenNTF.org Code Bin are provided "as-is", and should be used at your own risk. OpenNTF.org make no express or implied warranty about anything in the Code Bin, and OpenNTF.org will not be responsible or liable for any damage caused by the use or misuse of anything from this site. OpenNTF.org makes no guarantees about anything. Please thoroughly test all of the knowledge and code you find here before you attempt to use them in your production environment.

Code / Description
An Enumeration for collection classes, like NotesDocumentCollection. Must be subclassed to be used.


Public Class CollectionEnumeration As Enumeration
' Abstract class, must be subclassed

col As Variant
index As Integer
isFirst As Variant
element As Variant

Public Sub new(col As Variant)
' Creates a new CollectionEnumeration with the specifed collection as
' source
Set Me.col = col
index = 0
isFirst = True
If hasMoreElements() Then Set element = getFirst(col)
End Sub

Public Function size() As Integer
' Returns the number of entries in this Enumeration.
size = col.count
End Function

Public Function hasMoreElements() As Variant
hasMoreElements = False
If col Is Nothing Then Exit Function
If col.count < 1 Then Exit Function
If index >= col.count Then Exit Function
hasMoreElements = True
End Function

Public Function nextElement() As Variant
If isFirst Then isFirst = False Else Set element = getNext(col, element)
Set nextElement = element
index = index + 1
End Function

Private Function getFirst(col As Variant) As Variant
' Gets the first element in the collection
' Must be implemented in subclasses
Error 2000, Typename(Me) & "." & Lsi_info(2) & " not implemented"
End Function

Private Function getNext(col As Variant, previous As Variant) As Variant
' Gets the next element in the collection
' Must be implemented in subclasses
Error 2000, Typename(Me) & "." & Lsi_info(2) & " not implemented"
End Function
End Class

Usage / Example
 Comments

No documents found

 Add your comment!