Claims
- 1. A method for processing messages, comprising:
receiving a serialized message including a target object; invoking a deserialize process of a deserializer associated with the target object; configuring a state object resulting from the deserialize process to monitor a deserialization status; and creating an instance builder that initializes the target object based on the deserialization status.
- 2. The method of claim 1, wherein the deserializer is an instance of a stateless deserialization class and the instance builder completes deserialization of the target object for the deserializer.
- 3. The method of claim 1, wherein invoking a deserialize process comprises:
performing the deserialize process on the target object; and generating the state object based on a determination that the target object could not be deserialized.
- 4. The method of claim 3, wherein the determination that the target object could not be deserialized is based on a determination that an associated member object is not deserialized.
- 5. The method of claim 1, wherein configuring a state object is performed by the deserializer and comprises:
registering the state object as a listener object with another state object associated with at least one member object; and notifying the deserializer when the at least one member object is deserialized.
- 6. The method of claim 5, wherein creating an instance builder further comprises:
initializing, by the instance builder, the target object based on the notification.
- 7. The method of claim 1, wherein the target object is associated with a plurality of member objects and the instance builder stores data associated with each member object that is deserialized by the deserialization process.
- 8. The method of claim 7, wherein the instance builder initializes the target object using the stored data.
- 9. The method of claim 7, wherein the instance builder initializes the target object when it receives a notification associated with each member object that the respective member object is deserialized.
- 10. A method for deserializing a message, comprising:
extracting a target object associated with one or more member objects from a received message; performing a deserialize process on the target object that provides a state object associated with target object when the target object cannot be completely deserialized; configuring the state object to notify a deserializer associated with the target object when the one or more member objects are deserialized; and completing deserialization of the target object when the notification is received by the deserializer.
- 11. The method of claim 10, wherein completing deserialization comprises:
constructing and initializing the target object.
- 12. The method of claim 11, wherein each of the one or more member objects is deserialized when it is instantiated and initialized and any referenced objects is instantiated and initialized.
- 13. The method of claim 11, wherein each of the one or more member objects is deserialized when the respective member object is instantiated and at least one object that references the member object is not initialized.
- 14. The method of claim 10, wherein performing the deserialize method on the target object further comprises:
returning the state object when at least one of the one or more member objects is not deserialized.
- 15. The method of claim 10, wherein completing deserialization comprises:
configuring an instance builder for the target object; providing the notification to the instance builder; and completing, by the instance builder object, the deserialization of the target object based on the notification.
- 16. The method of claim 10, wherein the deserializer receives the notification in response to the deserializer requesting a deserilaization state associated with the one or more member objects from the state object.
- 17. A method for constructing an object graph from a serialized message, comprising:
receiving a message including a plurality of serialized objects reflecting an object graph; and constructing a deserialized object graph from the message, comprising:
for each target object included in the object graph,
determining whether the object could be deserialized based on a deserialization status of one or more member objects associated with the target object, returning a state object to a deserializer associated with the target object based on the determination, storing state data associated with a deserialization process associated with each of the one or more member objects, and using the stored state data to instantiate and initialize the root object in response to a notification that each of the one or more member objects associated with the target object is deserialized.
- 18. A data processing system, comprising:
a memory including:
a first set of instructions for deserializing a target object included in a serialized message received by the data processing system and providing a state object reflecting that the target object is not completely deserialized, and a second set of instructions for receiving an indication reflecting a deserialization state of a member object associated with the target object and for completely deserializing the target object based on the deserialization state; and a processor for executing the first and second set of instructions included in the memory.
- 19. The data processing system of claim 18, wherein the first set of instructions is invoked by a deserializer that creates an instance builder corresponding to the second set of instructions based on the state object.
- 20. The data processing system of claim 18, wherein the second set of instructions stores state information associated with the member object that is used to deserialize the target object.
- 21. The data processing system of claim 18, wherein the target object is associated with member objects and the second set of instructions completely deserializes the target object when the member objects are completely deserialized.
- 22. The data processing system of claim 18, wherein the second set of instructions completely deserializes the target object when the member object is initialized and a sub-member associated with the member object is initialized.
- 23. The data processing system of claim 18, wherein the second set of instructions completely deserializes the target object when the member object is instantiated and at least one sub-member object associated with the member object is not initialized.
- 24. The data processing system of claim 18, wherein the first set of instructions invokes a deserialization method that provides the state object.
- 25. The data processing system of claim 18, wherein the first set of instructions invokes a deserialization method that returns a value reflecting either a reference to any object that it can completely deserialize or a reference to the state object.
- 26. The data processing system of claim 18, wherein the memory further comprises:
a third set of instructions that invokes a deserialization method, configures the state object to monitor the deserialization state of the member object, and provides the indication reflecting the deserialization state to an instance builder corresponding to the second set of instructions.
- 27. The data processing system of claim 26, wherein the third set of instructions provides the indication to the instance builder when the deserialization state reflects that the member object is deserialized.
- 28. The data processing system of claim 26, wherein the third set of instructions checks the return value to determine whether the target object is completely deserialized.
- 29. The data processing system of claim 28, wherein the third set of instructions invokes the instance builder based on the determination that the return value includes a reference to the state object.
- 30. A system for deserializing objects encoded in a message, comprising:
a client for providing a message including serialized objects; and a server for receiving the message and deserializing the serialized objects, the server comprising:
a first process component configuring an instance of a deserializer class that invokes a deserilaize method for a target object included in the received message, a second process component configuring a state object based on a result of the invocation of the deserialize method, a third process component monitoring a status reflecting a performance of the deserialize method on a member associated with the target object, a fourth process component for providing the status to the deserializer instance when the member object is deserialized by the deserialize method, and a fifth process component for deserializing the target object based on the provided status.
- 31. A method for processing data, comprising:
recieving a data stream of serialized data elements; associating each data element with type information that corresponds to a deserialization mechanism; and deserializing the data stream such that each data element is deserialized using a deserialization mechanism that is associated with the same type information as the data element.
- 32. The method of claim 31, wherein deserializing the data stream includes:
encountering a first data element of a first type corresponding to a node that is referenced earlier in the data stream; and deserializing the first data element using a deserialization machanism that is associated with the first type.
- 33. The method of claim 31, wherein deserializing the data stream includes:
encountering a first data element that is a reference to an object that is located elsewhere in the data stream; associating the reference with a first type that corresponds to a first deserialization mechanism; and deserializing the node using the first deserialization mechanism.
- 34. A method for constructing an object, comprising:
receiving a stream of serialized data elements that includes a target object that references member objects; monitoring the status of the member objects to determine whether each member object is available; and constructing the target object when all of the member objects are available.
- 35. The method of claim 34, wherein a member object is available when it has been deserialized.
- 36. A computer-readable medium including instructions for performing a method, when executed by a processor, for processing messages, the method comprising:
receiving a serialized message including a target object; invoking a deserialize process of a deserializer associated with the target object; configuring a state object resulting from the deserialize process to monitor a deserialization status; and creating an instance builder that initializes the target object based on the deserialization status.
- 37. The computer-readable medium of claim 36, wherein the deserializer is an instance of a stateless deserialization class and the instance builder completes deserialization of the target object for the deserializer.
- 38. The computer-readable medium of claim 36, wherein invoking a deserialize process comprises:
performing the deserialize process on the target object; and generating the state object based on a determination that the target object could not be deserialized.
- 39. The computer-readable medium of claim 38, wherein the determination that the target object could not be deserialized is based on a determination that an associated member object is not deserialized.
- 40. The computer-readable medium of claim 36, wherein configuring a state object is performed by the deserializer and comprises:
registering the state object as a listener object with another state object associated with at least one member object; and notifying the deserializer when the at least one member object is deserialized.
- 41. The computer-readable medium of claim 40, wherein creating an instance builder further comprises:
initializing, by the instance builder, the target object based on the notification.
- 42. The computer-readable medium of claim 36, wherein the target object is associated with a plurality of member objects and the instance builder stores data associated with each member object that is deserialized by the deserialization process.
- 43. The computer-readable medium of claim 42, wherein the instance builder initializes the target object using the stored data.
- 44. The computer-readable medium of claim 42, wherein the instance builder initializes the target object when it receives a notification associated with each member object that the respective member object is deserialized.
- 45. A computer-readable medium including instructions for performing a method, when executed by a processor, for deserializing a message, the method comprising:
extracting a target object associated with one or more member objects from a received message; performing a deserialize process on the target object that provides a state object associated with target object when the target object cannot be completely deserialized; configuring the state object to notify a deserializer associated with the target object when the one or more member objects are deserialized; and completing deserialization of the target object when the notification is received by the deserializer.
- 46. The computer-readable medium of claim 45, wherein completing deserialization comprises:
constructing and initializing the target object.
- 47. The computer-readable medium of claim 46, wherein each of the one or more member objects is deserialized when it is instantiated and initialized and any referenced objects is instantiated and initialized.
- 48. The computer-readable medium of claim 46, wherein each of the one or more member objects is deserialized when the respective member object is instantiated and at least one object that references the member object is not initialized.
- 49. The computer-readable medium of claim 45, wherein performing the deserialize method on the target object further comprises:
returning the state object when at least one of the one or more member objects is not deserialized.
- 50. The computer-readable medium of claim 45, wherein completing deserialization comprises:
configuring an instance builder for the target object; providing the notification to the instance builder; and completing, by the instance builder object, the deserialization of the target object based on the notification.
- 51. The computer-readable medium of claim 45, wherein the deserializer receives the notification in response to the deserializer requesting a deserilaization state associated with the one or more member objects from the state object.
- 52. A computer-readable medium including instructions for performing a method, when executed by a processor, for constructing an object graph from a serialized message, the method comprising:
receiving a message including a plurality of serialized objects reflecting an object graph; and constructing a deserialized object graph from the message, comprising:
for each target object included in the object graph,
determining whether the object could be deserialized based on a deserialization status of one or more member objects associated with the target object, returning a state object to a deserializer associated with the target object based on the determination, storing state data associated with a deserialization process associated with each of the one or more member objects, and using the stored state data to instantiate and initialize the root object in response to a notification that each of the one or more member objects associated with the target object is deserialized.
- 53. A system for processing messages, comprising:
means for receiving a serialized message including a target object; means for invoking a deserialize process of a deserializer associated with the target object; means for configuring a state object resulting from the deserialize process to monitor a deserialization status; and means for creating an instance builder that initializes the target object based on the deserialization status.
- 54. The system of claim 53, wherein the deserializer is an instance of a stateless deserialization class and the instance builder completes deserialization of the target object for the deserializer.
- 55. The system of claim 53, wherein the means for invoking a deserialize process comprises:
means for performing the deserialize process on the target object; and means for generating the state object based on a determination that the target object could not be deserialized.
- 56. The system, of claim 55, wherein the determination that the target object could not be deserialized is based on a determination that an associated member object is not deserialized.
- 57. The system of claim 53, wherein the means for configuring a state object is included in the deserializer and further comprises:
means for registering the state object as a listener object with another state object associated with at least one member object; and means for notifying the deserializer when the at least one member object is deserialized.
- 58. The system of claim 57, wherein the means for creating an instance builder further comprises:
means for initializing, by the instance builder, the target object based on the notification.
- 59. The system of claim 53, wherein the target object is associated with a plurality of member objects and the instance builder stores data associated with each member object that is deserialized by the deserialization process.
- 60. The system of claim 59, wherein the instance builder initializes the target object using the stored data.
- 61. The system of claim 59, wherein the instance builder initializes the target object when it receives a notification associated with each member object that the respective member object is deserialized.
- 62. A system for deserializing a message, comprising:
means for extracting a target object associated with one or more member objects from a received message; means for performing a deserialize process on the target object that provides a state object associated with target object when the target object cannot be completely deserialized; means for configuring the state object to notify a deserializer associated with the target object when the one or more member objects are deserialized; and means for completing deserialization of the target object when the notification is received by the deserializer.
- 63. The system of claim 62, wherein the means for completing deserialization comprises:
means for constructing and initializing the target object.
- 64. The system of claim 63, wherein each of the one or more member objects is deserialized when it is instantiated and initialized and any referenced objects is instantiated and initialized.
- 65. The system of claim 63, wherein each of the one or more member objects is deserialized when the respective member object is instantiated and at least one object that references the member object is not initialized.
- 66. The system of claim 62, wherein the means for performing the deserialize method on the target object further comprises:
means for returning the state object when at least one of the one or more member objects is not deserialized.
- 67. The system of claim 62, wherein the means for completing deserialization comprises:
means for configuring an instance builder for the target object; means for providing the notification to the instance builder; and means for completing, by the instance builder object, the deserialization of the target object based on the notification.
- 68. The system of claim 62, wherein the deserializer receives the notification in response to the deserializer requesting a deserilaization state associated with the one or more member objects from the state object.
- 69. A system for constructing an object graph from a serialized message, comprising:
means for receiving a message including a plurality of serialized objects reflecting an object graph; and means for constructing a deserialized object graph from the message, comprising:
means for each target object included in the object graph, means for determining whether the object could be deserialized based on a deserialization status of one or more member objects associated with the target object, means for returning a state object to a deserializer associated with the target object based on the determination, means for storing state data associated with a deserialization process associated with each of the one or more member objects, and means for using the stored state data to instantiate and initialize the root object in response to a notification that each of the one or more member objects associated with the target object is deserialized.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application relates to U.S. patent application Ser. No. ______ (Attorney Docket No. 06502.0398.00000), entitled “METHODS, SYSTEM, AND ARTICLES OF MANUFACTURE FOR PROVIDING A SERVLET CONTAINER BASED SERVICE,” filed concurrently with the present application, owned by the assignee of this application and expressly incorporated herein by reference in their entirety.