A interface for reading and writing JSON. This interface will be used when an Object needs to be read or written to JSON. These methods return a specific object and not the interface JsonSerializable. Objects implementing this interface have the ability to persist custom data to the JSON output. This custom data is stored as a MutableDictionaryImpl where the keys are strings that represent properties on the Object, and the values are strings that represent the JSON value for that corresponding property. Any custom data that causes malformed JSON when the Object is persisted will not be included in the JSON output. For example, if a key from the custom data matches a property on the Object and both were written out to JSON, it would result in malformed JSON. So in this example, the key in the custom data causing the malformed JSON would not be persisted.
An interface adopted by classes that access remote network resources that have the potential to be secured. This interface adopted by classes whose objects need to access remote network resources, potentially in a secured manner. For example, a web service or a file on a web server that could require credentials to access.