• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
inheritance (EO Subclass) ?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

inheritance (EO Subclass) ?


  • Subject: inheritance (EO Subclass) ?
  • From: Theodore Petrosky <email@hidden>
  • Date: Sat, 19 Nov 2011 06:00:10 -0800 (PST)

I am learning about subclassing EOs.

I have an entity;   Contact

and three subclasses Employee, VendorContact, MediaContact

the qualifiers are:  isEmployee (bool)  isVendorContact (bool)  isMediaContact (bool)

ie:
isEmployee <> 0
isVendorContact <> 0
isMediaContact <> 0

testbed=# select * from t_contact;
 c_first_name | c_last_name | id | c_is_vendor_contact | c_is_media_contact | c_is_employee
--------------+-------------+----+---------------------+--------------------+---------------
 Ted          | Petrosky    |  1 | t                   | t                  | f
 Bill         | Simpson     |  2 | t                   | t                  | t
 Harold       | Wall        |  3 | f                   | t                  | f

so I set up a test page simple with ordered lists wrapped in WOReps

and queried the backend to populate the NSArrays:

theEC  = ERXEC.newEditingContext();

vendors = VendorContact.fetchVendorContacts(theEC, VendorContact.IS_VENDOR_CONTACT.eq(true), null);
employees = CompanyEmployee.fetchCompanyEmployees(theEC, CompanyEmployee.IS_EMPLOYEE.eq(true), null);
mediaContacts = MediaContact.fetchMediaContacts(theEC, MediaContact.IS_MEDIA_CONTACT.eq(true), null);

System.out.println("Media List " + mediaContacts);
System.out.println("Employees List " + employees);
System.out.println("Vendor List " + vendors);

After I ran my app it barfed at me:

Error: 	java.lang.IllegalArgumentException: While trying to set the field "anEmployee" on an object of type com.eltek.components.Main we expected a com.eltek.model.CompanyEmployee but received a com.eltek.model.VendorContact with a value of <com.eltek.model.VendorContact pk:"1">. This often happens if you forget to use a formatter.

Now I understand that I can not fetch these entities in a single EC as any contact could be a member of any or all subclasses.

Did I miss something (a property maybe [since everything is a property]) or must I use multiple ECs in this case? Obviously, that was my solution, set up a different EC for each subclass. Then all is well (but is it?).

Ted

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: inheritance (EO Subclass) ?
      • From: Paul Yu <email@hidden>
  • Prev by Date: Re: Error: table "eof_tmp_table" does not exist.
  • Next by Date: Re: inheritance (EO Subclass) ?
  • Previous by thread: Project Wonder and WO Community logo contest!
  • Next by thread: Re: inheritance (EO Subclass) ?
  • Index(es):
    • Date
    • Thread