001package com.gigya.android.sdk.account;
002
003import com.gigya.android.sdk.account.models.GigyaAccount;
004import com.google.gson.Gson;
005
006import java.util.Map;
007
008public interface IAccountService<A extends GigyaAccount> {
009
010    void setAccountScheme(Class<A> scheme);
011
012    Class<A> getAccountSchema();
013
014    void setAccount(String json);
015
016    void invalidateAccount();
017
018    A getAccount();
019
020    boolean isCachedAccount(String include, String profileExtraFields);
021
022    void nextAccountInvalidationTimestamp();
023
024    long getNextInvalidationTimestamp();
025
026    void setAccountOverrideCache(boolean accountOverrideCache);
027
028    void updateExtendedParametersRequest(String include, String profileExtraFields);
029
030    Map<String, Object> calculateDiff(Gson gson, A cachedAccount, A updatedAccount);
031}