System for navigating beans using filters and container managed relationships
First Claim
1. A computer program product comprising a non-transitoy computer readable medium having a computer readable program stored therein, wherein the computer readable program, when executed on a computing device, causes the computing device to:
- define a relationship between at least two beans in a deployment descriptor;
define, in the deployment descriptor, a filter on the relationship between the at least two beans, wherein the defined filter includes one or more attributes that are a subject of the filter, wherein the filter, when executed, returns one or more beans having the one or more attributes, wherein the filter is defined declaratively in the deployment descriptor of a definition of the relationship, wherein defining the filter declaratively in the deployment descriptor allows the filter to be accessible to clients of the definition of the relationship through a local interface such that the filter is exposed on the local interface of the definition of the relationship, wherein exposing the filter on the local interface negates a generation of additional code to implement filters for each conceivable type of entity bean or group of entity beans requested by a client method and allows the client method to be navigated using the defined filter, and wherein the computer readable program to define a filter on the relationship further includes computer readable program that causes the computing device to;
provide a filter tag in the deployment descriptor identifying a portion of the deployment descriptor as being associated with the filter; and
provide a filter definition in association with the filter tag, wherein the filter definition further includes a designation of one or more parameters that are to be passed into the filter to control the operation of the filter, wherein the one or more parameters comprises a logical operator parameter identifying a logical operator parameter to be applied to one or more predicates generated based on the filter definition, wherein at least one method that implements the filter includes a query language statement having a WHERE clause, and whereinthe one or more predicates are combined with the WHERE clause using the logical operator parameter; and
deploy the at least two beans based on the deployment descriptor, wherein at least one method is generated during deployment that implements the filter defined in the deployment descriptor.
0 Assignments
0 Petitions
Accused Products
Abstract
A system for navigating relationships between beans using filters and container managed relationships is provided. With the system, filters are specified in the relationship definition of a deployment descriptor of a bean. The filters generate additional predicates to the WHERE clauses in SQL SELECT statements generated based on the contents of the deployment descriptor. Moreover, these filters may be defined such that method parameters may be passed into the resulting deployed code to thereby make them more flexible. Therefore, with the system, rather than defining filters programmatically in methods of a bean'"'"'s implementation class, filters are defined declaratively in the deployment descriptor of the bean. Since these filters are specified in the deployment descriptor of the bean, they are accessible to clients of the bean through the local interface.
-
Citations
10 Claims
-
1. A computer program product comprising a non-transitoy computer readable medium having a computer readable program stored therein, wherein the computer readable program, when executed on a computing device, causes the computing device to:
-
define a relationship between at least two beans in a deployment descriptor; define, in the deployment descriptor, a filter on the relationship between the at least two beans, wherein the defined filter includes one or more attributes that are a subject of the filter, wherein the filter, when executed, returns one or more beans having the one or more attributes, wherein the filter is defined declaratively in the deployment descriptor of a definition of the relationship, wherein defining the filter declaratively in the deployment descriptor allows the filter to be accessible to clients of the definition of the relationship through a local interface such that the filter is exposed on the local interface of the definition of the relationship, wherein exposing the filter on the local interface negates a generation of additional code to implement filters for each conceivable type of entity bean or group of entity beans requested by a client method and allows the client method to be navigated using the defined filter, and wherein the computer readable program to define a filter on the relationship further includes computer readable program that causes the computing device to; provide a filter tag in the deployment descriptor identifying a portion of the deployment descriptor as being associated with the filter; and provide a filter definition in association with the filter tag, wherein the filter definition further includes a designation of one or more parameters that are to be passed into the filter to control the operation of the filter, wherein the one or more parameters comprises a logical operator parameter identifying a logical operator parameter to be applied to one or more predicates generated based on the filter definition, wherein at least one method that implements the filter includes a query language statement having a WHERE clause, and wherein the one or more predicates are combined with the WHERE clause using the logical operator parameter; and deploy the at least two beans based on the deployment descriptor, wherein at least one method is generated during deployment that implements the filter defined in the deployment descriptor. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system for deploying at least two beans, comprising:
-
a processor; and a memory coupled to the processor, wherein the memory includes instructions executable by the processor to; define a relationship between the at least two beans in a deployment descriptor; define, in the deployment descriptor, a filter on the relationship between the at least two beans, wherein the defined filter includes one or more attributes that are a subject of the filter, wherein the filter, when executed, returns one or more beans having the one or more attributes, wherein the filter is defined declaratively in the deployment descriptor of a definition of the relationship, wherein defining the filter declaratively in the deployment descriptor allows the filter to be accessible to clients of the definition of the relationship through a local interface such that the filter is exposed on the local interface of the definition of the relationship, wherein exposing the filter on the local interface negates a generation of additional code to implement filters for each conceivable type of entity bean or group of entity beans requested by a client method and allows the client method to be navigated using the defined filter, and wherein the instructions to define a filter on the relationship further causes the processor to; provide a filter tag in the deployment descriptor identifying a portion of the deployment descriptor as being associated with the filter; and provide a filter definition in association with the filter tag, wherein the filter definition further includes a designation of one or more parameters that are to be passed into the filter to control the operation of the filter, wherein the one or more parameters comprises a logical operator parameter identifying a logical operator parameter to be applied to one or more predicates generated based on the filter definition, wherein at least one method that implements the filter includes a query language statement having a WHERE clause, and wherein the one or more predicates are combined with the WHERE clause using the logical operator parameter; and deploy the at least two beans based on the deployment descriptor, wherein at least one method is generated during deployment that implements the filter defined in the deployment descriptor. - View Dependent Claims (7, 8, 9, 10)
-
Specification