Claims
- 1. A Bean Scripting Component (BSC) language for defining and implementing components using a scripting language and that provides a syntax for describing a component's properties, events and methods, wherein a BSC document comprised of BSC components can be compiled into Java such that the component is compatible with Java.
- 2. A BSC language according to claim 2, wherein said BSC language is based on an eXtensible Markup Language (XML).
- 3. The BSC language according to claim 1, wherein the components are JavaBean components which describe a component's properties such that a JavaBean extends another class.
- 4. The BSC language according to claim 1, wherein the language describes a component's properties by implementing an interface to another class.
- 5. The BSC language according to claim 1, wherein the language describes a component's properties by implementing a no-argument constructor.
- 6. The BSC language according to claim 5, wherein the no-argument constructor specifies which exceptions it throws.
- 7. The BSC language according to claim 1, wherein a component utilizes a property element to define a property of its parent.
- 8. The BSC language according to claim 7, wherein the language optionally allows the property element to be indexed.
- 9. The BSC language according to claim 7, wherein the language optionally allows the property element to be bound.
- 10. The BSC language according to claim 7, wherein the language optionally allows the property element to be constrained.
- 11. The BSC language according to claim 7, wherein the language utilizes a setter element to override a set accessor generated by the parent.
- 12. The BSC language according to claim 7, wherein the language utilizes a getter element to override a get accessor generated by the parent.
- 13. The BSC language according to claim 1, wherein the language utilizes a method element to define a method of the parent component.
- 14. The BSC language according to claim 13, wherein the method element optionally provides access to at least one of a public method, a private method, a protected method, or a Java package.
- 15. The BSC language according to claim 13, wherein the method element provides a static modifier.
- 16. The BSC language according to claim 13, wherein the method element provides a synchronized modifier.
- 17. The BSC language according to claim 13, wherein the method element provides a final modifier.
- 18. The BSC language according to claim 13, wherein the method element provides a throws modifier.
- 19. The BSC language according to claim 13, wherein a parameter element is utilized to define a parameter of the parent method.
- 20. The BSC language according to claim 1, wherein the language utilizes an event element to define events that the parent component will fire.
- 21. The BSC language according to claim 20, wherein the language optionally allows only one listener to be registered for the event at a time.
- 22. The BSC language according to claim 1, wherein the language utilizes a script element to define a body of at least one of the parent constructor, getter, setter or method.
- 23. The BSC language according to claim 1, wherein the language utilizes a script element to define an initializer expression of a parent field.
- 24. The BSC language according to claim 1, wherein the language utilizes a field element to define a field in the class being created.
- 25. The BSC language according to claim 24, wherein the field element optionally provides access to at least one of a public method, a private method, a protected method, or a Java package.
- 26. The BSC language according to claim 24, wherein the field element provides a static modifier.
- 27. The BSC language according to claim 24, wherein the field element provides a static modifier.
- 28. The BSC language according to claim 24, wherein the field element provides a transient modifier.
- 29. The BSC language according to claim 24, wherein the field element provides a final modifier.
- 30. The BSC language according to claim 1, wherein an unpublished element is used to contain parts of the component that explicitly exposed as a part of the component interface.
- 31. The BSC language according to claim 30, wherein when an unpublished element is present, a BeanInfo class must be generated to correctly compile the component into a Java class.
- 32. The BSC language according to claim 30, wherein the BeanInfo class will be used to expose only those properties, methods and events that are outside of the unpublished element as the component's interface.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] The subject matter of this application is related to that of U.S. patent application Ser. No. 09/425,726 filed Oct. 22, 1999, by Sanjiva Weerawarana and Matthew J. Duftler for “Bean Scripting Framework”, and assigned to a common assignee herewith. The disclosure of application Ser. No. 09/425,726 is incorporated herein by reference.