IP Library Granted Patent US 9,052,883
Granted Patent B2
US 9,052,883 · App. 13/207,335 · Granted Jun 9, 2015

Creating an object in an object-oriented programming platform

Inventors: Ronald D. Lue-Sang (Mountain View, CA); Ali T. Ozer (Redwood City, CA); Mark A. Piccirelli (Los Gatos, CA); Andreas W. Wendker (Mountain View, CA)
Assignee: Apple Inc.
G06F8/24G06F8/315Y10S707/99944
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,052,883
App. No.
13/207,335
Granted
Jun 9, 2015
Kind
B2
Abstract

An application programming interface is provided in an object-oriented programming platform for developing applications. A method comprises, in response to a first message received at a first object that contains one or more properties, creating a second object that responds to a second message sent thereto responsive to sending of the first message to the first object and returning the second object. By returning, for example, key-value collection proxies by specific key-value coding methods a read-only or a read-write access may be allowed to a collection of a container object's related objects. A specific implementation of one object's class may change over time without requiring changes in another object's implementation.

Claims (50)

1. A method for providing an application programming interface in an object-oriented programming platform, the method comprising:

receiving, at a key-value coding module, a first message sent to a container object that identifies a collection object and an operation, wherein the collection object is a property of the container object;

in response to receiving the first message, creating, by the key-value coding module, a collection proxy object corresponding to the collection object;

returning, by the key-value coding module, the collection proxy object; and

sending, by the collection proxy object, at least one second message to the container object to perform the operation on the collection object; and

sending a response to the first message based on the result of the operation.

2. The method of claim 1 , further comprising:

receiving a string parameter identifying the container object and the collection object; and

in response to the receiving the string, returning the collection proxy object.

3. The method of claim 1 , wherein the operation is a request for a writable version of the collection object, and further comprising:

sending a writable version of the collection proxy object as the response to the first message.

4. The method of claim 1 , wherein the operation is a request for a read only version of the collection object, and further comprising:

sending a read only version of the collection proxy object as the response to the first message.

5. The method of claim 1 , further comprising:

determining, by the key-value coding module, that the collection object is key-value coding compliant; and

creating the collection proxy object when the collection object is key-value coding compliant.

6. A non-transitory computer-readable medium including one or more sequences of instructions which, when executed by one or more processors, causes:

receiving, at a key-value coding module, a first message sent to a container object that identifies a collection object and an operation, wherein the collection object is a property of the container object;

in response to receiving the first message, creating, by the key-value coding module, a collection proxy object corresponding to the collection object; and

returning, by the key-value coding module, the collection proxy object; and

sending, by the collection proxy object, at least one second message to the container object to perform the operation on the collection object; and

sending a response to the first message based on the result of the operation.

7. The non-transitory computer-readable medium of claim 6 , wherein the instructions cause:

receiving a string that identifies a property of the container object, the property corresponding to the collection object; and

in response to the string, return a value for the property for the container object, the value corresponding to the collection proxy object.

8. The non-transitory computer-readable medium of claim 6 , wherein the operation is a request for a writable version of the collection object, and wherein the instructions cause:

sending a writable version of the collection proxy object as the response to the first message.

9. The non-transitory computer-readable medium of claim 6 , wherein the operation is a request for a read only version of the collection object, and wherein the instructions cause:

sending a read only version of the collection proxy object as the response to the first message.

10. The non-transitory computer-readable medium of claim 6 , wherein the instructions cause:

determining, by the key-value coding module, that the collection object is key-value coding compliant; and

creating the collection proxy object when the collection object is key-value coding compliant.

11. A system comprising:

one or more processors; and

a computer-readable storage medium including one or more sequences of instructions which, when executed by the one or more processors, causes:

receiving, at a key-value coding module, a first message sent to a container object that identifies a collection object and an operation, wherein the collection object is a property of the container object;

in response to receiving the first message, creating, by the key-value coding module, a collection proxy object corresponding to the collection object;

returning, by the key-value coding module, the collection proxy object; and

sending, by the collection proxy object, at least one second message to the container object to perform the operation on the collection object; and

sending a response to the first message based on the result of the operation.

12. The object oriented computing system of claim 11 , wherein the instructions cause:

receiving a string that identifies a property of the container object, the property corresponding to the collection object; and

in response to the string, return a value for the property for the container object, the value corresponding to the collection proxy objects.

13. The system of claim 11 , wherein the operation is a request for a writable version of the collection object, and wherein the instructions cause:

sending a writable version of the collection proxy object as the response to the first message.

14. The system of claim 11 , wherein the operation is a request for a read only version of the collection object, and wherein the instructions cause:

sending a read only version of the collection proxy object as the response to the first message.

15. The system of claim 11 , wherein the instructions cause:

determining, by the key-value coding module, that the collection object is key-value coding compliant; and

creating the collection proxy object when the collection object is key-value coding compliant.

Assignments (1)
CHANGE OF NAME Recorded Aug 10, 2011
From: APPLE COMPUTER, INC.
To: APPLE INC.
Reel/Frame 026731/0197 →
Continuity (2)
Continuation 10873667 · Jun 22, 2004
Related Publication 20110296438A1 · Dec 1, 2011