/// <summary> /// Registers a global data url mapper for the specified type. /// </summary> /// <param name="dataType">The data type.</param> /// <param name="dataUrlMapper">The data url mapper.</param> public static void RegisterGlobalDataUrlMapper(Type dataType, IDataUrlMapper dataUrlMapper) { Verify.ArgumentCondition(dataType.IsInterface && typeof(IData).IsAssignableFrom(dataType), "dataType", "The data type should be an interface inheriting Composite.Data.IData"); _globalDataUrlMappers[dataType] = dataUrlMapper; }
/// <summary> /// Registers a data url mapper associated with a page. /// </summary> /// <param name="pageId">The page id.</param> /// <param name="dataType">The data type.</param> /// <param name="dataUrlMapper">The data url mapper.</param> public static void RegisterDynamicDataUrlMapper(Guid pageId, Type dataType, IDataUrlMapper dataUrlMapper) { Verify.ArgumentNotNull(dataType, "dataType"); Verify.ArgumentNotNull(dataUrlMapper, "dataUrlMapper"); Verify.ArgumentCondition(dataType.IsInterface && typeof(IData).IsAssignableFrom(dataType), "dataType", "The data type should be an interface inheriting Composite.Data.IData"); var handlerList = _dynamicPageDataUrlMappers.GetOrAdd(pageId, key => new ConcurrentDictionary <Type, IDataUrlMapper>()); handlerList[dataType] = dataUrlMapper; }
/// <summary> /// Registers a data url mapper associated with a page. /// </summary> /// <param name="pageId">The page id.</param> /// <param name="dataType">The data type.</param> /// <param name="dataUrlMapper">The data url mapper.</param> public static void RegisterStaticDataUrlMapper(Guid pageId, Type dataType, IDataUrlMapper dataUrlMapper) { Verify.ArgumentNotNull(dataUrlMapper, "dataUrlMapper"); Verify.ArgumentCondition(dataType.IsInterface && typeof(IData).IsAssignableFrom(dataType), "dataType", "The data type should be an interface inheriting Composite.Data.IData"); var handlerList = _staticPageDataUrlMappers.GetOrAdd(pageId, key => new ConcurrentBag <KeyValuePair <Type, IDataUrlMapper> >()); if (handlerList.Count > 100) { // Preventing a memory leak here return; } handlerList.Add(new KeyValuePair <Type, IDataUrlMapper>(dataType, dataUrlMapper)); }
public virtual void AssignDynamicUrlMapper(Type dataType, IDataUrlMapper dataUrlMapper) { _dataUrlMappers.Add(new Tuple<Type, IDataUrlMapper>(dataType, dataUrlMapper)); }
public virtual void AssignDynamicUrlMapper(Type dataType, IDataUrlMapper dataUrlMapper) { _dataUrlMappers.Add(new Tuple <Type, IDataUrlMapper>(dataType, dataUrlMapper)); }
/// <summary> /// Registers a data url mapper associated with a page. /// </summary> /// <param name="pageId">The page id.</param> /// <param name="dataUrlMapper">The data url mapper.</param> /// <typeparam name="T">The data type.</typeparam> public static void RegisterDynamicDataUrlMapper <T>(Guid pageId, IDataUrlMapper dataUrlMapper) where T : class, IData { RegisterDynamicDataUrlMapper(pageId, typeof(T), dataUrlMapper); }
/// <summary> /// Registers a global data url mapper for the specified type. /// </summary> /// <param name="dataUrlMapper"></param> /// <typeparam name="T">The data type.</typeparam> public static void RegisterGlobalDataUrlMapper <T>(IDataUrlMapper dataUrlMapper) where T : class, IData { RegisterGlobalDataUrlMapper(typeof(T), dataUrlMapper); }