You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Override toString() in Info classes to encode them back to JSON #52
I do not think that toString method should return Json object representation with all the changes. This method is used mostly for debugging/logging so it should be fast . What is required here does not look like it fits into toString specification.
All Info objects have to methods:
com.box.sdk.BoxJSONObject#getPendingChanges - that returns String representation of the Json with all the pending changes
com.box.sdk.BoxJSONObject#getPendingChangesAsJsonObject - that returns JsonObject with all the pending changes
However those will return null if there are no pending changes.
If we create a new method to return Json representation of current state of the Info object (as String or JsonObject) to cache it what would be the use case?
Some application gets the response from SDK, modifies it, gets Json and cache it but what then? If it would get the object from cache and create the Info object from it the information on pending changes are lost.
The best approach is to use com.box.sdk.BoxJSONObject#getJson which is exposed to all Info objects. If you use this Json representation to cache response and the use it to create Info object you are not loosing any information. But you have any pending changes you have to sent them via SDK.
Activity
PreciselyAlyss commentedon May 21, 2019
Appears to have been added by PR#461
Add support for encoding JSON object into a JSON string
Add this keyword to field reference
antusus commentedon Jan 25, 2022
I do not think that toString method should return Json object representation with all the changes. This method is used mostly for debugging/logging so it should be fast . What is required here does not look like it fits into toString specification.
All Info objects have to methods:
However those will return
nullif there are no pending changes.If we create a new method to return Json representation of current state of the Info object (as String or JsonObject) to cache it what would be the use case?
Some application gets the response from SDK, modifies it, gets Json and cache it but what then? If it would get the object from cache and create the Info object from it the information on pending changes are lost.
The best approach is to use com.box.sdk.BoxJSONObject#getJson which is exposed to all Info objects. If you use this Json representation to cache response and the use it to create Info object you are not loosing any information. But you have any pending changes you have to sent them via SDK.