text: 1. Technical Field
  The present disclosure relates to application development frameworks and more specifically to re-executing query objects without affecting transaction data in an application development framework not providing for creation of multiple instances of the same query object.
  2. Related Art
  An application refers to a software program, which on execution performs specific desired tasks. In general, several applications are executed in a run-time environment containing one or more of operating systems, virtual machines (e.g., supporting Java™ programming language), device drivers, etc., as is well known in the relevant arts.
  Developers often use application development frameworks (ADF) (which are by themselves applications) for implementing/ developing desired applications. An ADF provides a set of pre-defined code/data modules that can be directly/indirectly used in the development of an application. An ADF may also provide tools such as an IDE (integrated development environment), code generators, debuggers, etc. which facilitates a developer in coding/implementing the desired logic of the application in a faster/simpler manner.
  Query objects refer to code/data modules provided by an ADF which are used to store/retrieve data to/from data stores such as databases. Query objects are often associated with (defined either internally or external to) corresponding structured queries, which on execution cause such storage/retrieval. The stored/ retrieved data may then be maintained and/or manipulated in the query object in the form of transaction data. Each query object is typically in the form of a corresponding class in Java programming language type environments.
  Thus, transaction data often refers to the data associated with a single transaction/activity performed by a user. Such transaction data are often modified due to user interaction, and the ADF is generally designed to make permanent the changes made to the transaction data. For example, for query objects, the ADF may propagate the changes made to the transaction data to the corresponding data store/database in response to a pre-defined event (e.g., closing of a database connection, receiving a commit indication in response to a user interaction, etc.).
  Re-execution of a query object (e.g., to re-execute the associated query) may cause the data retrieved from a data store to overwrite/affect the changed transaction data already maintained in the query object, thereby causing the changes made to the transaction data to be lost. Such overwriting of the transaction data may be avoided by first creating a clone or a new instance of the query object and then executing the cloned/instantiated query object.
  In a scenario that the ADF does not provide for creation of multiple instances of the same query object (e.g., by cloning or by instantiating), such a feature of re-executing query objects without affecting transaction data may still be desirable.
  In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.