IP Library Granted Patent US 8,407,461
Granted Patent B2
US 8,407,461 · App. 12/971,382 · Granted Mar 26, 2013

Plug-in system for software applications

Inventors: Weng Cheong (San Francisco, CA); Eswar Vandanapu (Fremont, CA); Sreedhar Katti (Bangalore, IN)
Assignee: Oracle International Corporation
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 8,407,461
App. No.
12/971,382
Granted
Mar 26, 2013
Kind
B2
Abstract

A plug-in framework is invoked within a plug-in, where the plug-in framework includes a software library configured to define, register, and configure plug-ins, where the plug-in includes a software module that extends or customizes functionality of a software application that is external to the plug-in, and where the plug-in includes a mapping name. A plug-in instance declaration is searched, by the plug-in framework, for a mapping that includes the mapping name, where the plug-in instance declaration is located within a plug-in file, and where the plug-in declaration comprises one or more mappings. When a mapping of the mapping name to the value is found, the value is returned, by the plug-in framework, to the plug-in based on the mapping. The plug-in framework also allows a plug-in provider to associate a plug-in with metadata.

Claims (59)

1. A non-transitory computer-readable medium having instructions stored thereon that, when executed by a processor, cause the processor to implement a plug-in system, the implementing comprising:

invoking a plug-in framework within a plug-in, wherein the plug-in framework comprises a software library configured to define, register, and configure plug-ins, wherein the plug-in comprises a software module that extends or customizes functionality of a software application that is external to the plug-in, and wherein the plug-in comprises a mapping name;

searching a plug-in instance declaration, by the plug-in framework, for a mapping that comprises the mapping name, wherein the plug-in instance declaration is located within a plug-in file, and wherein the plug-in declaration comprises one or more mappings, and wherein the mapping maps the mapping name to an attribute; and

when a mapping that comprises the mapping name is found, returning a value, by the plug-in framework, to the plug-in based on the mapping, wherein the returning the value to the plug-in based on the mapping further comprises searching a hash map for the value based on the attribute.

2. The non-transitory computer-readable medium of claim 1 ,

wherein the mapping maps the mapping name to the value; and

wherein the returning the value to the plug-in based on the mapping further comprises replacing the mapping name with the value.

3. The non-transitory computer-readable medium of claim 1 ,

wherein the hash map is provided by the plug in.

4. The non-transitory computer-readable medium of claim 1 ,

wherein the hash map is provided by a runtime value resolver in a plug-in point of the software application that is external to the plug-in.

5. The non-transitory computer-readable medium of claim 1 ,

wherein the plug-in instance declaration is located within an extensible markup language file located within the plug-in file.

6. The non-transitory computer-readable medium of claim 1 ,

wherein the plug-in comprises a method,

wherein when a plurality of mappings comprise the mapping name, a mapping with a mapping name that is specified for the method of the plug-in is given priority over a mapping name that is specified for all methods.

7. The non-transitory computer-readable medium of claim 1 , the implementing further comprising:

associating, by the plug-in framework, metadata with the plug-in, wherein the metadata comprises one or more properties;

selecting a plug-in and identifying the metadata associated with the plug-in;

based on the metadata, determining whether the plug-in is applicable; and

loading the plug-in when the plug-in is applicable.

8. The non-transitory computer-readable medium of claim 7 , wherein each property of the metadata comprises a name-value pair.

9. The non-transitory computer-readable medium of claim 7 , wherein the associating the metadata with the plug-in further comprises storing the metadata in an extensible markup language file of the plug-in file.

10. A computer-implemented method for implementing a plug-in system, the computer-implemented method comprising:

invoking a plug-in framework within a plug-in, wherein the plug-in framework comprises a software library configured to define, register, and configure plug-ins, wherein the plug-in comprises a software module that extends or customizes functionality of a software application that is external to the plug-in, and wherein the plug-in comprises a mapping name;

searching a plug-in instance declaration, by the plug-in framework, for a mapping that comprises the mapping name, wherein the plug-in instance declaration is located within a plug-in file, and wherein the plug-in declaration comprises one or more mappings, and wherein the mapping maps the mapping name to an attribute; and

when a mapping of the mapping name to the value is found, returning the value, by the plug-in framework, to the plug-in based on the mapping, wherein the returning the value to the plug-in based on the mapping further comprises searching a hash map for the value based on the attribute.

11. The computer-implemented method of claim 10 ,

wherein the mapping maps the mapping name to the value; and

wherein the returning the value to the plug-in based on the mapping further comprises replacing the mapping name with the value.

12. The computer-implemented method of claim 10 ,

wherein the hash map is provided by the plug-in.

13. The computer-implemented method of claim 10 ,

wherein the hash map is provided by a runtime value resolver in a plug-in point of the software application that is external to the plug-in.

14. The computer-implemented method of claim 10 , further comprising:

associating, by the plug-in framework, metadata with the plug-in, wherein the metadata comprises one or more properties;

selecting a plug-in and identifying the metadata associated with the plug-in;

based on the metadata, determining whether the plug-in is applicable; and

loading the plug-in when the plug-in is applicable.

15. A plug-in system comprising:

a memory configured to store a plug-in framework module; and

a processor configured to execute the plug-in framework module stored on the memory;

wherein the processor is further configured, when executing the plug-in framework module stored on the memory, to:

invoke a plug-in framework within a plug-in, wherein the plug-in framework comprises a software library configured to define, register, and configure plug-ins, wherein the plug-in comprises a software module that extends or customizes functionality of a software application that is external to the plug-in, and wherein the plug-in comprises a mapping name;

search a plug-in instance declaration for a mapping that comprises the mapping name, wherein the plug-in instance declaration is located within a plug-in file, and wherein the plug-in declaration comprises one or more mappings, and wherein the mapping maps the mapping name to an attribute; and

when a mapping that comprises the mapping name is found, return a value to the plug-in based on the mapping, wherein the returning the value to the plug-in based on the mapping further comprises searching a hash map for the value based on the attribute.

16. The plug-in system of claim 15 ,

wherein the mapping maps the mapping name to the value; and

wherein the processor is further configured, when executing the plug-in framework module stored on the memory, to replace the mapping name with the value.

17. The plug-in system of claim 15 ,

wherein the hash map is provided by the plug-in.

18. The plug-in system of claim 15 ,

wherein the hash map is provided by a runtime value resolver in a plug-in point of the software application that is external to the plug-in.

19. The plug-in system of claim 15 ,

wherein the processor is further configured, when executing the plug-in framework module stored on the memory, to:

associate metadata with the plug-in, wherein the metadata comprises one or more properties;

select a plug-in and identify the metadata associated with the plug-in;

based on the metadata, determine whether the plug-in is applicable; and

load the plug-in when the plug-in is applicable.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2010
From: CHEONG, WENG; VANDANAPU, ESWAR; KATTI, SREEDHAR
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 025518/0434 →
Continuity (1)
Related Publication 20120159145A1 · Jun 21, 2012