internal static BusinessItem <T> Create <T>(string name, T value, PermissionFeature feature, BusinessRecord parent) { if (feature == PermissionFeature.ReadOnly) { return(new ReadOnlyBusinessItem <T>(name, value, parent, false)); } else if (feature == PermissionFeature.Sound) { return(new TransactionalBusinessItem <T>(name, value, parent)); } else if (feature == PermissionFeature.Key) { return(new ReadOnlyBusinessItem <T>(name, value, parent, true)); } else if (feature == PermissionFeature.Dumb) { return(new DumpBusinessItem <T>(name, value, parent)); } else if (feature == PermissionFeature.AlwaysSound) { return(new AlwaysSoundItem <T>(name, value, parent)); } else { throw new NotSupportedException(string.Format("{0} is not a supported ChangeItemFeature", feature)); } }
protected BusinessItemBuilder(BusinessRecord parent) { _parent = parent; }
internal static BusinessItem <T> CreateVolatileItem <T>(string name, Func <T> producer, BusinessRecord parent) { return(new VolatileBusinessItem <T>(name, producer, parent)); }