Here's the complete code for this scenario solution:
// ... public SomeEntitySummaryDetailsList listSomeEntityDetails() throws AppException, InformationalException { // create an instance of the return struct final SomeEntitySummaryDetailsList list = new SomeEntitySummaryDetailsList(); // retrieve all the instances of the entity final Set<SomeEntity> someEntities = someEntityDAO.readAll(); // map the details returned for (final SomeEntity someEntity : someEntities) { final SomeEntitySummaryDetails someEntitySummaryDetails = new SomeEntitySummaryDetails(); someEntitySummaryDetails.someEntityID = someEntity.getID(); someEntitySummaryDetails.name = someEntity.getName(); list.details.addRef(someEntitySummaryDetails); } // return to the client return list; }
Note that the assignment to the someEntities set was shown for clarity only - equivalent terser code is shown below:
// ... public SomeEntitySummaryDetailsList listSomeEntityDetails() throws AppException, InformationalException { // create an instance of the return struct final SomeEntitySummaryDetailsList list = new SomeEntitySummaryDetailsList(); for (final SomeEntity someEntity : someEntityDAO.readAll()) { // map the details returned final SomeEntitySummaryDetails someEntitySummaryDetails = new SomeEntitySummaryDetails(); someEntitySummaryDetails.someEntityID = someEntity.getID(); someEntitySummaryDetails.name = someEntity.getName(); list.details.addRef(someEntitySummaryDetails); } // return to the client return list; } // ...