Previous | Next | WireHose Developers Guide |
If the system property WHDisableAutoSubEntities is false,
WHApplicationHelper uses WHEnterpriseObject's
createSubEntitiesForAffiliates
to automatically create
subentities for a given list of affiliates for each entity which has
an "affiliate" or "entityType" attribute. You can override this
behavior on a per-entity basis by including a
WHPreventAutoSubEntities = YES
entry in the entity's
userinfo dictionary. (If you are not using the WireHoseLayoutSupport
framework, as in a command-line tool, you will need to call
createSubEntitiesForAffiliates yourself.)
You can also create subentities at runtime which use
multiple-table rather than single-table inheritance.
WHEnterpriseObject's createSubEntity
method lets you
specify a restricting qualifier as well as an external name (i.e.,
table name) for a subentity. Any subentity created by
WHEnterpriseObject will have a WHCreatedSubEntity = YES
entry in its userinfo dictionary, and
createSubEntitiesForAffiliates
will not create
subentities for a given entity if it finds this. WHApplicationHelper
posts a notification
before it creates subentities, so
you can register for this notification if you need to customize
subentity creation.
The property WHUserEntityName
controls which base
entity WHApplicationHelper will use when fetching and creating users.
The actual entity fetched and created will be an affiliate-based
subentity of this entity for the default affiliate, if available. For
example, if WHDefaultAffiliate
is "Seattle" and
WHUserEntityName
is "WHUser" (the default), users and
guest users will be of the "SeattleUser" entity if it exists.
You can override WHApplicationHelper's automatic subentity creation in several ways:
WHDisableAutoSubEntities
is YES
(or true), WHApplicationHelper will not create any subentities
during startup.ApplicationHelperWillFinishInitializing
notification,
which is posted before WHApplicationHelper creates any
subentities.MySpecialPicture = { externalName = Picture; restrictingQualifier = "(affiliate = 'MySpecial')"; parent = Picture; };
Depending on how you have your inheritance set up, you can specify one or both of externalName and restrictingQualifier.
Copyright ©2000-2003 Gary Teter. All rights reserved. WireHose is a trademark of Gary Teter.