package treehou.se.habit.core.db.model; import android.net.Uri; import io.realm.Realm; import io.realm.RealmObject; import io.realm.annotations.PrimaryKey; public class SitemapDB extends RealmObject { @PrimaryKey private long id; private String name; private String label; private String link; private ServerDB server; private LinkedPageDB homepage; private SitemapSettingsDB settingsDB; public long getId() { return id; } public void setId(long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getLabel() { return label; } public void setLabel(String label) { this.label = label; } public String getLink() { return link; } public void setLink(String link) { this.link = link; } public LinkedPageDB getHomepage() { return homepage; } public void setHomepage(LinkedPageDB homepage) { this.homepage = homepage; } public ServerDB getServer() { return server; } public void setServer(ServerDB server) { this.server = server; } public static boolean isLocal(SitemapDB sitemap){ Uri uri = Uri.parse(sitemap.getLink()); try{ return uri.getHost().equals(Uri.parse(sitemap.getServer().getLocalUrl()).getHost()); }catch (Exception e){} return false; } public SitemapSettingsDB getSettingsDB() { return settingsDB; } public void setSettingsDB(SitemapSettingsDB settingsDB) { this.settingsDB = settingsDB; } /** * Generate a unique id for realm object * @param realm * @return */ public static long getUniqueId(Realm realm) { long id = 1; Number num = realm.where(SitemapDB.class).max("id"); if (num != null) id = num.longValue() + 1; return id; } }