public OptimizelyUserContext(Optimizely optimizely, string userId, UserAttributes userAttributes, ForcedDecisionsStore forcedDecisionsStore, IErrorHandler errorHandler, ILogger logger) { ErrorHandler = errorHandler; Logger = logger; Optimizely = optimizely; Attributes = userAttributes ?? new UserAttributes(); ForcedDecisionsStore = forcedDecisionsStore ?? new ForcedDecisionsStore(); UserId = userId; }
/// <summary> /// Returns copy of ForcedDecisionsStore associated with UserContext. /// </summary> /// <returns>copy of ForcedDecisionsStore.</returns> public ForcedDecisionsStore GetForcedDecisionsStore() { ForcedDecisionsStore copiedForcedDecisionsStore = null; lock (mutex) { if (ForcedDecisionsStore.Count == 0) { copiedForcedDecisionsStore = ForcedDecisionsStore.NullForcedDecision(); } else { copiedForcedDecisionsStore = new ForcedDecisionsStore(ForcedDecisionsStore); } } return(copiedForcedDecisionsStore); }
public ForcedDecisionsStore(ForcedDecisionsStore forcedDecisionsStore) { ForcedDecisionsMap = new Dictionary <string, OptimizelyForcedDecision>(forcedDecisionsStore.ForcedDecisionsMap); }
/// <summary> /// Instantiates a NULL object when ForcedDecisionStore first time is used. /// </summary> static ForcedDecisionsStore() { NullForcedDecisionStore = new ForcedDecisionsStore(); }