IP Library › Granted Patent US 7,516,141
Granted Patent B2
US 7,516,141 · App. 11/446,229 · Granted Apr 7, 2009

System and method for generating runtime metadata for use in the development of mobile device applications

Assignee: Research In Motion Limited
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 7,516,141
App. No.
11/446,229
Filed
Jun 5, 2006
Granted
Apr 7, 2009
Kind
B2
Art Unit
2167
USPC
707/100
Abstract

A system and method for generating runtime metadata for use in the development of mobile device applications. A metadata file, such as an XML file that is used to capture the metadata for a database associated with a mobile device application, is used to generate initialization code. This initialization code, when executed, creates runtime metadata for the application database in terms of a first object (e.g. classID object) through which metadata associated with the application database is accessible and at least one second object (e.g. propertyID object) through which metadata associated with a property of a data record of the application database is accessible.

Claims (27)

1. A method of generating runtime metadata for use in the development of a mobile device application, the method comprising:

parsing a metadata file associated with an application database;

generating initialization code for instantiating a first class from the metadata file such that when the initialization code for instantiating the first class is executed, a first object is created for storing metadata for the application database that is accessible by one or more application layers at runtime; and

generating initialization code for instantiating a second class from the metadata file such that when the initialization code for instantiating the second class is executed, one or more second objects are created, each for storing metadata for a property of a data record of the application database that is accessible by the one or more application layers at runtime;

generating a concrete class that implements a generic interface representing a data record, wherein an instance of the concrete class represents a data record associated with the mobile device application.

2. The method of claim 1 , wherein the first object comprises an internal identifier that identifies the application database, and at least one identifier each used by a different application layer that identifies the application database; and wherein each second object comprises an internal identifier that identifies the application database, and at least one identifier each used by a different application layer that identifies the respective property.

3. The method of claim 2 , wherein the first object contains references to each of the one or more second objects, and wherein each of the one or more second objects contains a reference to the first object.

4. The method of claim 1 , wherein the first class and the second class are defined prior to the performance of the method.

5. The method of claim 1 , wherein the generic interface is defined prior to the performance of the method.

6. The method of claim 1 , further comprising: using the metadata stored in at least one of the first object and the one or more second objects to create a database schema.

7. The method of claim 1 , further comprising: using the metadata stored in at least one of the first object and the one or more second objects to provide a mapping between different property identifiers.

8. The method of claim 1 , further comprising: using the metadata stored in at least one of the first object and the one or more second objects to convert data between different data formats.

9. The method of claim 1 , further comprising: using the metadata stored in at least one of the first object and the one or more second objects to provide a user interface control for at least one of displaying and manipulating data of a data record of the database.

10. The method of claim 1 , wherein the first object contains references to each of the one or more second objects, and wherein each of the one or more second objects contains a reference to the first object.

11. A physical computer-readable medium on which a plurality of executable instructions is stored, the instructions for performing a method comprising:

parsing a metadata file associated with an application database;

generating initialization code for instantiating a first class from the metadata file such that when the initialization code for instantiating the first class is executed, a first object is created for storing metadata for the application database that is accessible by one or more application layers at runtime; and

generating initialization code for instantiating a second class from the metadata file such that when the initialization code for instantiating the second class is executed, one or more second objects are created, each for storing metadata for a property of a data record of the application database that is accessible by the one or more application layers at runtime;

generating a concrete class that implements a generic interface representing a data record, wherein an instance of the concrete class represents a data record associated with a mobile device application.

12. A system for generating runtime metadata for use in the development of a mobile device application, the system comprising a processor configured to:

parse a metadata file associated with an application database;

generate initialization code for instantiating a first class from the metadata file such that when the initialization code for instantiating the first class is executed, a first object is created for storing metadata for the application database that is accessible by one or more application layers at runtime; and

generate initialization code for instantiating a second class from the metadata file such that when the initialization code for instantiating the second class is executed, one or more second objects are created, each for storing metadata for a property of a data record of the application database that is accessible by the one or more application layers at runtime;

wherein the processor is further configured to generate a concrete class that implements a generic interface representing a data record, wherein an instance of the concrete class represents a data record associated with the mobile device application.

13. The system of claim 12 , wherein the first object comprises an internal identifier that identifies the application database, and at least one identifier each used by a different application layer that identifies the application database; and wherein each second object comprises an internal identifier that identifies the application database, and at least one identifier each used by a different application layer that identifies the respective property.

14. The system of claim 13 , wherein the first object contains references to each of the one or more second objects, and wherein each of the one or more second objects contains a reference to the first object.

15. The system of claim 12 , wherein the first object contains references to each of the one or more second objects, and wherein each of the one or more second objects contains a reference to the first object.

Assignments (4)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Nov 3, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 034150/0483 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2006
From: RUAN, ZHIGANG; AGRAWAL, ANISH; KROPF-UNTUCHT, DAMON
To: RESEARCH IN MOTION LIMITED
Reel/Frame 018084/0347 →
Continuity (1)
Related Publication 20070282889A1 · Dec 6, 2007