IP Library Granted Patent US 10,789,048
Granted Patent B2
US 10,789,048 · App. 16/262,783 · Granted Sep 29, 2020

Namespace and class utilities for managed packages

Inventors: Leslie C. Kismartoni (Sarasota, FL); Thomas Jones (Alpharetta, GA)
Assignee: salesforce.com, inc.
G06F8/30G06F11/3684
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 10,789,048
App. No.
16/262,783
Granted
Sep 29, 2020
Kind
B2
Abstract

Embodiments regard namespace and class utilities for managed packages. An embodiment of one or more storage mediums include instructions for performing processing in a managed package; processing a call to a namespace utility for a class in the managed package; and, in response to the call to the namespace utility, identifying a namespace for the class, and returning the identified namespace. An embodiment of one or more storage mediums include instructions for performing processing in a managed package; receiving a request from outside the managed package for instantiation of a class, the request including a class instantiation utility; and, in response to the request, delegating instantiation of the class to a factory, and instantiating the class as a public, non-global class.

Claims (42)

1. One or more non-transitory computer-readable storage mediums having stored thereon executable computer program instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

performing processing in a managed package containing one or more software components, wherein the managed package is a base package or an extension package of one or more extension packages of the base package, the base package and each of the one or more extension packages including a separate namespace;

processing a call to a namespace utility for a class in the managed package, wherein the namespace utility is defined within the base package and each of the one or more extension packages; and

in response to the call to the namespace utility:

identifying a namespace for the class, wherein identifying the namespace for the class comprises obtaining a full name for the class, the full name for the class including a full qualified path, and parsing the full qualified path to identify the namespace for the class, and

returning the identified namespace.

2. The one or more storage mediums of claim 1 , wherein the class may be located within any of the base package or the one or more extension packages.

3. The one or more storage mediums of claim 1 , wherein the call to the namespace utility includes any of the following:

providing one or more URL (Uniform Resource Locator) references across package boundaries;

providing references to fields of an object using a dynamic reference to the namespace; and

creating test data that include field names that require namespace references.

4. One or more non-transitory computer-readable storage mediums having stored thereon executable computer program instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

performing processing in a managed package containing one or more software components, wherein the managed package is a base package or an extension package of one or more extension packages of the base package, and a class instantiation utility is defined within the base package and each of the one or more extension packages;

receiving a request from outside the managed package for instantiation of a class, the request including the class instantiation utility and a factory for generation of the class; and

in response to the request:

delegating instantiation of the class to the factory, and

instantiating the class as a public, non-global class.

5. The one or more storage mediums of claim 4 , wherein the base package and each of the one or more extension packages including a separate namespace.

6. The one or more storage mediums of claim 5 , wherein the class may be instantiated within any of the base package or the one or more extension packages.

7. The one or more storage mediums of claim 6 , wherein the class is instantiated within a first extension package of the one or more extension packages, and further including executable computer program instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

providing the delegated factory to the first extension package for instantiation of the class in the first extension package.

8. A method comprising:

performing processing in a managed package containing one or more software components, wherein the managed package is a base package or an extension package of one or more extension packages of the base package, the base package and each of the one or more extension packages including a separate namespace;

processing a call to a namespace utility for a class in the managed package, wherein the namespace utility is defined within the base package and each of the one or more extension packages; and

in response to the call to the namespace utility:

identifying a namespace for the class, wherein identifying the namespace for the class comprises obtaining a full name for the class, the full name for the class including a full qualified path, and parsing the full qualified path to identify the namespace for the class, and

returning the identified namespace.

9. The method of claim 8 , wherein the class may be located within any of the base package or the one or more extension packages.

10. The method of claim 8 , further comprising:

providing one or more URL (Uniform Resource Locator) references across package boundaries;

providing references to fields of an object using a dynamic reference to the namespace; and

creating test data that include field names that require namespace references.

11. A method comprising:

performing processing in a managed package containing one or more software components, wherein the managed package is a base package or an extension package of one or more extension packages of the base package, and a class instantiation utility is defined within the base package and each of the one or more extension packages;

receiving a request from outside the managed package for instantiation of a class, the request including the class instantiation utility and a factory for generation of the class; and

in response to the request:

delegating instantiation of the class to the factory, and

instantiating the class as a public, non-global class.

12. The method of claim 11 , wherein the base package and each of the one or more extension packages including a separate namespace.

13. The method of claim 12 , wherein the class may be instantiated within any of the base package or the one or more extension packages.

14. The method of claim 13 , wherein the class is instantiated within a first extension package of the one or more extension packages, and further comprising:

providing the delegated factory to the first extension package for instantiation of the class in the first extension package.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0399 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2019
From: KISMARTONI, LESLIE C.; JONES, THOMAS
To: SALESFORCE.COM, INC.
Reel/Frame 048428/0073 →
Continuity (1)
Related Publication 20200241846A1 · Jul 30, 2020
Cited By (2)
US 12,260,250 US 12,260,434