/*============================================================================*/ /* Public Functions */ /*============================================================================*/ public object GetMediator(object item, IMediatorMapping mapping) { if (_mediators.ContainsKey(item) && _mediators[item].ContainsKey(mapping)) { return(_mediators[item][mapping]); } return(null); }
/*============================================================================*/ /* Public Functions */ /*============================================================================*/ public void AddMapping(IMediatorMapping mapping) { if (_mappings.Contains(mapping)) return; _mappings.Add(mapping); FlushCache(); }
public void RemoveMediator(object mediator, object item, IMediatorMapping mapping) { if (item is IView) { (item as IView).RemoveView -= HandleRemoveView; } DestroyMediator(mediator); }
public void RemoveMapping(IMediatorMapping mapping) { int index = _mappings.IndexOf(mapping); if (index == -1) return; _mappings.RemoveAt(index); FlushCache(); }
/*============================================================================*/ /* Public Functions */ /*============================================================================*/ public void AddMediator(object mediator, object item, IMediatorMapping mapping) { if (item is IView && mapping.AutoRemoveEnabled) { (item as IView).RemoveView += HandleRemoveView; } InitializeMediator(mediator, item); }
private void AddMediator(object mediator, object item, IMediatorMapping mapping) { if (!_mediators.ContainsKey(item)) { _mediators[item] = new Dictionary <IMediatorMapping, object>(); } _mediators[item][mapping] = mediator; _manager.AddMediator(mediator, item, mapping); }
private void DeleteMapping(IMediatorMapping mapping) { _handler.RemoveMapping(mapping); _mappings.Remove(mapping.MediatorType); if (_logger != null) { _logger.Debug("0} unmapped from {1}", _typeFilter, mapping); } }
/*============================================================================*/ /* Public Functions */ /*============================================================================*/ public void AddMapping(IMediatorMapping mapping) { if (_mappings.Contains(mapping)) { return; } _mappings.Add(mapping); FlushCache(); }
public void FromAll() { Dictionary <Type, IMediatorMapping> .ValueCollection values = _mappings.Values; IMediatorMapping[] mediatorMappings = new IMediatorMapping[values.Count]; values.CopyTo(mediatorMappings, 0); foreach (IMediatorMapping mapping in mediatorMappings) { DeleteMapping(mapping); } }
public void RemoveMapping(IMediatorMapping mapping) { int index = _mappings.IndexOf(mapping); if (index == -1) { return; } _mappings.RemoveAt(index); FlushCache(); }
private IMediatorConfigurator OverwriteMapping(IMediatorMapping mapping) { if (_logger != null) { _logger.Warn("{0} already mapped to {1}\n" + "If you have overridden this mapping intentionally you can use 'unmap()' " + "prior to your replacement mapping in order to avoid seeing this message.\n", _typeFilter, mapping); } DeleteMapping(mapping); return(CreateMapping(mapping.MediatorType)); }
/*============================================================================*/ /* Private Functions */ /*============================================================================*/ private object CreateMediator(object item, IMediatorMapping mapping) { object mediator = GetMediator(item, mapping); if (mediator != null) { return(mediator); } if (mapping.Guards.Count == 0 || Guards.Approve(_injector, mapping.Guards)) { mediator = _injector.InstantiateUnmapped(mapping.MediatorType); if (mapping.Hooks.Count > 0) { _injector.Map(mapping.MediatorType).ToValue(mediator); Hooks.Apply(_injector, mapping.Hooks); _injector.Unmap(mapping.MediatorType); } AddMediator(mediator, item, mapping); } return(mediator); }
/*============================================================================*/ /* Private Functions */ /*============================================================================*/ private object CreateMediator(object item, IMediatorMapping mapping) { object mediator = GetMediator(item, mapping); if (mediator != null) return mediator; if (mapping.Guards.Count == 0 || Guards.Approve(_injector, mapping.Guards)) { mediator = _injector.InstantiateUnmapped(mapping.MediatorType); if (mapping.Hooks.Count > 0) { _injector.Map(mapping.MediatorType).ToValue(mediator); Hooks.Apply(_injector, mapping.Hooks); _injector.Unmap(mapping.MediatorType); } AddMediator(mediator, item, mapping); } return mediator; }
public virtual void RemoveMapping(IMediatorMapping mapping) { }
/*============================================================================*/ /* Public Functions */ /*============================================================================*/ public object GetMediator(object item, IMediatorMapping mapping) { if (_mediators.ContainsKey(item) && _mediators[item].ContainsKey(mapping)) return _mediators[item][mapping]; return null; }
public virtual void AddMapping(IMediatorMapping mapping) { }
private void AddMediator(object mediator, object item, IMediatorMapping mapping) { if (!_mediators.ContainsKey(item)) _mediators[item] = new Dictionary<IMediatorMapping, object>(); _mediators[item][mapping] = mediator; _manager.AddMediator(mediator, item, mapping); }