ClassDescriptor refactoring - replacing returned iterators with collections
---------------------------------------------------------------------------

                 Key: CAY-1439
                 URL: https://issues.apache.org/jira/browse/CAY-1439
             Project: Cayenne
          Issue Type: Task
          Components: Core Library
    Affects Versions: 3.1M1
            Reporter: Andrus Adamchik
            Assignee: Andrus Adamchik
             Fix For: 3.1M1


ClassDescriptor interface has the following methods returning iterators:
    
    *  'getIdProperties'
    *  'getDiscriminatorColumns'
    *  'getMapArcProperties'

The original premise of this design was that certain collections can be built 
dynamically based on more than one source of metadata. This however defeated 
the idea of a "compiled" nature of ClassDescriptor, and none of the 3.1 
descriptors are taking advantage of that. (Maybe 3.0 did? we had lots of odd 
descriptors there).

So replacing the return type from Iterator<T> to Collection<T>. This will 
result in a cleaner (e.g. for loops will be possible), less weird code. 
Unfortuanely the change is not backwards compatible,as I couldn't come up with 
decent alternatie naming that would've been required to keep the deprecated 
iterator methods. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to