com.parse.KnownParseObjectDecoder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of parse-android Show documentation
Show all versions of parse-android Show documentation
A library that gives you access to the powerful Parse cloud platform from your Android app.
/*
* Copyright (c) 2015-present, Parse, LLC.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/
package com.parse;
import java.util.Map;
/**
* A subclass of ParseDecoder
which can keep ParseObject
that
* has been fetched instead of creating a new instance.
*/
/** package */ class KnownParseObjectDecoder extends ParseDecoder {
private Map fetchedObjects;
public KnownParseObjectDecoder(Map fetchedObjects) {
super();
this.fetchedObjects = fetchedObjects;
}
/**
* If the object has been fetched, the fetched object will be returned. Otherwise a
* new created object will be returned.
*/
@Override
protected ParseObject decodePointer(String className, String objectId) {
if (fetchedObjects != null && fetchedObjects.containsKey(objectId)) {
return fetchedObjects.get(objectId);
}
return super.decodePointer(className, objectId);
}
}