Namespace: OpenEdge.Core.Collections
Type: Class AbstractTTCollection
Parent Classes:
Inherits: Progress.Lang.Object
Implements: OpenEdge.Core.Collections.ICollection


Copyright (c) 2013-2017 by Progress Software Corporation. All rights reserved.
File:AbstractTTCollection
Author(s):hdaniels
Created:Sun Dec 16 22:41:40 EST 2007
Notes:This is an ABL specific abstraction that uses only dynamic
constructs to access temp-tables and buffers in order to
allow it to be reused by subclasses that have different
temp-tables.
- The most important behavioral encapsulation/reuse provided by
this is the management of the size().



Method Summary
  Options Name Purpose
  LOGICAL Add (Object)
  LOGICAL AddAll (ICollection)
  LOGICAL AddArray (Object[])
  Clear ()
  Progress.Lang.Object Clone () /* Deep clone. or rather deep enough since we don't know what the elements' Clone() operations do, so this may end up being a memberwise clone */
  CloneElements (ICollection)
  LOGICAL Contains (Object)
  LOGICAL ContainsAll (ICollection)
  FindBufferUseObject (Object) /* override this in subclass - used by remove(obj) and others */
  LOGICAL IsEmpty ()
  OpenEdge.Core.Collections.IIterator Iterator () /* Returns a new IIterator over the collection. */
  LOGICAL Remove (Object)
  LOGICAL RemoveAll (ICollection)
  Resize () /** Recalculates the Size of this collections. Used particularly by Lists since there are operations like Remove() that are index-based and not item-based. */
  LOGICAL RetainAll (ICollection)
  Progress.Lang.Object ToArray () /* ToArray should not be used with large collections If there is too much data the ABL will throw: Attempt to update data exceeding 32000. (12371) */
  ToTable (table-handle)

Constructor Summary
  Options Name Purpose
  AbstractTTCollection ()
  AbstractTTCollection (handle, character) /* pass temp-table handle and name of object field */
  AbstractTTCollection (handle, handle) /* pass temp-table handle and object field */
  AbstractTTCollection (ICollection, handle, character) /* pass Collection */

Property Summary
  Options Name Purpose
  INTEGER Size


Method Detail
Top

LOGICAL Add (Object)

Parameters:
newObject Progress.Lang.Object
 
Returns LOGICAL
 
Top

LOGICAL AddAll (ICollection)

Parameters:
newCollection OpenEdge.Core.Collections.ICollection
 
Returns LOGICAL
 
Top

LOGICAL AddArray (Object[])

Parameters:
objectArray Progress.Lang.Object
 
Returns LOGICAL
 
Top

Clear ()

Top

Progress.Lang.Object Clone ()

/* Deep clone. or rather deep enough since we don't know what the elements' Clone()
operations do, so this may end up being a memberwise clone
Returns Progress.Lang.Object
 
Top

CloneElements (ICollection)

Parameters:
poClone OpenEdge.Core.Collections.ICollection
 
Top

LOGICAL Contains (Object)

Parameters:
checkObject Progress.Lang.Object
 
Returns LOGICAL
 
Top

LOGICAL ContainsAll (ICollection)

Parameters:
poCollection OpenEdge.Core.Collections.ICollection
 
Returns LOGICAL
 
Top

FindBufferUseObject (Object)

/* override this in subclass - used by remove(obj) and others
Parameters:
obj Progress.Lang.Object
 
Top

LOGICAL IsEmpty ()

Returns LOGICAL
 
Top

OpenEdge.Core.Collections.IIterator Iterator ()

/* Returns a new IIterator over the collection.
Returns OpenEdge.Core.Collections.IIterator
 
Top

LOGICAL Remove (Object)

Parameters:
oldObject Progress.Lang.Object
 
Returns LOGICAL
 
Top

LOGICAL RemoveAll (ICollection)

Parameters:
collection OpenEdge.Core.Collections.ICollection
 
Returns LOGICAL
 
Top

Resize ()

Purpose: Recalculates the Size of this collections.
Used particularly by Lists since there are operations
like Remove() that are index-based and not item-based.
Top

LOGICAL RetainAll (ICollection)

Parameters:
oCol OpenEdge.Core.Collections.ICollection
 
Returns LOGICAL
 
Top

Progress.Lang.Object ToArray ()

/* ToArray should not be used with large collections
If there is too much data the ABL will throw:
Attempt to update data exceeding 32000. (12371)
Returns Progress.Lang.Object
 
Top

ToTable (table-handle)

Parameters:
tt TABLE-HANDLE
 


Constructor Detail
Top

AbstractTTCollection ()

Top

AbstractTTCollection (handle, character)

/* pass temp-table handle and name of object field
Parameters:
phtt HANDLE
 
pcField CHARACTER
 
Top

AbstractTTCollection (handle, handle)

/* pass temp-table handle and object field
Parameters:
phtt HANDLE
 
hField HANDLE
 
Top

AbstractTTCollection (ICollection, handle, character)

/* pass Collection
Parameters:
poCol OpenEdge.Core.Collections.ICollection
 
phtt HANDLE
 
pcField CHARACTER
 


Property Detail
Top

INTEGER Size

Returns INTEGER