Patent ID: 8407257

Claim:
A computer readable storage medium storing a plurality of instructions for controlling a processor, the plurality of instructions comprising: instructions that cause the processor to create an entity object that comprises a set of attributes and behaviors, the set of attributes including a superset of all attributes of a plurality of object types, the set of behaviors further including a superset of all behaviors of the plurality of object types, the set of attributes further including a discriminator attribute that determines an object type of the plurality of object types that the entity object will behave as; instructions that cause the processor to set a value for the discriminator attribute based on the object type that the entity object should behave as; instructions that cause the processor to, in response to a request for the entity object to exhibit a behavior, obtain a reference to a helper object, the helper object implementing the behavior that enables the entity object to behave as an object of the object type determined by the discriminator attribute value; instructions that cause the processor to execute computer code of the helper object that implements the requested behavior of the entity object for the determined object type; instructions that cause the processor to obtain a reference to the helper object by determining if an instance of the helper object is currently instantiated, and if not, instantiating the helper object; instructions that cause the processor to obtain the reference to the helper object for each request for the entity object to exhibit a behavior; and instructions that cause the processor to determine if the set of attributes of the entity object comprises an attribute with an associated value, wherein the attribute is not included in one or more attributes corresponding to an object type determined by the discriminator attribute value.