package com.ladjzero.uzlee; import com.ladjzero.hipda.Parser; import com.ladjzero.hipda.User; import java.util.HashSet; import java.util.Observable; import java.util.Set; /** * Created by chenzhuo on 16-2-12. */ public class ApiStore extends Observable { private static ApiStore singleton; private static PersistenceAdapter mAdapter; private User user; private String formhash; private String hash; private String code; private int unread; private Set<User> banned; public static ApiStore getStore() { if (singleton == null) singleton = new ApiStore(); singleton.code = Parser.CODE_GBK; return singleton; } public static void initialize(PersistenceAdapter adapter) { mAdapter = adapter; } public String getCode() { return code; } public void setCode(String code) { if (!code.equals(this.code)) { notifyObservers("code"); this.code = code; } } public User getUser() { if (user == null) { user = mAdapter.getValue("user", User.class, null); } return user == null ? new User() : user; } public void setUser(User user) { setChanged(); this.user = user; mAdapter.putValue("user", user); notifyObservers("user"); } public String getFormhash() { return formhash; } public void setFormhash(String formhash) { this.formhash = formhash; } public String getHash() { return hash; } public void setHash(String hash) { this.hash = hash; } public int getUnread() { return unread; } public void setUnread(int unread) { setChanged(); this.unread = unread; notifyObservers("unread"); } public Set<User> getBanned() { if (banned == null) banned = mAdapter.getValue("banned", Set.class, new HashSet<User>()); return banned; } public void setBanned(Set<User> banned) { setChanged(); this.banned = banned; mAdapter.putValue("banned", banned); notifyObservers("banned"); } }