package io.c0nnector.github.paradise.ui.startup; /** * Settings to pass to the startup view */ public class StartupDetailsViewSettings { /** * If true, we will request startup roles onBind() */ private boolean requestStartupRoles = false; /** * If true, we will request a full startup object update onBind() */ private boolean requestFullStartupObject = false; /** * If true, we won't set all info since we have a partial data */ private boolean partialInfo = false; public StartupDetailsViewSettings requestRole(boolean request){ this.requestStartupRoles = request; return this; } public StartupDetailsViewSettings requestStartup(boolean request){ this.requestFullStartupObject = request; return this; } public StartupDetailsViewSettings setPartialInfo(boolean isPartial){ this.partialInfo = isPartial; return this; } public boolean isRequestStartupRolesEnabled() { return requestStartupRoles; } public boolean isRequestFullStartupObjectEnabled() { return requestFullStartupObject; } public boolean isParcialnfo(){ return partialInfo; } /***************************************************** * ---------- * Predefined settings * --------- * * * ****************************************************/ /** * Settings for when we bind a full startup object and we need to request it's roles * @return */ public static StartupDetailsViewSettings getDefaultSettings(){ return new StartupDetailsViewSettings() .requestRole(true) .requestStartup(false) .setPartialInfo(false); } /** * Settings for when we bind a partial startup object * @return */ public static StartupDetailsViewSettings getPartialLoadSettings(){ return new StartupDetailsViewSettings() .requestRole(true) .requestStartup(true) .setPartialInfo(true); } /** * Settings when we want to bind full objects with no additional network calls * @return */ public static StartupDetailsViewSettings getAfterLoadStartupSettings(){ return new StartupDetailsViewSettings() .requestRole(false) .requestStartup(false) .setPartialInfo(false); } }