internal LoadLinker(IReferenceLoader referenceLoader, List <List <Type> > referenceTypesToBeLoadedForEachLoadingLevel, LoadLinkProtocol loadLinkProtocol) { _referenceLoader = referenceLoader; _referenceTypesToBeLoadedForEachLoadingLevel = referenceTypesToBeLoadedForEachLoadingLevel; _loadLinkProtocol = loadLinkProtocol; _linker = new Linker(_loadLinkProtocol, _dataStore); }
private void AddDependenciesForAllReferences(Dependency predecessor, LoadLinkProtocol loadLinkProtocol) { foreach (var include in _includeSet.GetIncludes <IIncludeWithAddLookupId <TLink> >()) { include.AddDependency(predecessor, loadLinkProtocol); } }
internal LoadLinker(Func <IReferenceLoader> getReferenceLoader, IReadOnlyList <IReadOnlyList <Type> > referenceTypesToBeLoadedForEachLoadingLevel, LoadLinkProtocol loadLinkProtocol, LoadLinkDetails <TRootLinkedSource, TRootLinkedSourceModel> loadLinkDetails) { _referenceLoader = getReferenceLoader(); _referenceTypesToBeLoadedForEachLoadingLevel = referenceTypesToBeLoadedForEachLoadingLevel; _loadLinkProtocol = loadLinkProtocol; _loadLinkDetails = loadLinkDetails; _linker = new Linker(_loadLinkProtocol, _dataStore); }
private void LinkNestedLinkedSourcesFromModel(object linkedSource, LoadLinkProtocol loadLinkProtocol) { var loadLinkExpressions = loadLinkProtocol.GetLoadLinkExpressions(linkedSource); foreach (var loadLinkExpression in loadLinkExpressions) { loadLinkExpression.LinkNestedLinkedSourceFromModel( linkedSource, this, loadLinkProtocol ); } }
public void LinkNestedLinkedSourceById( object linkedSource, Linker linker, Type referenceTypeToBeLinked, LoadLinkProtocol loadLinkProtocol ) { SetLinkTargetValues( linkedSource, link => _includeSet.GetIncludeWithCreateNestedLinkedSourceByIdForReferenceType(link, referenceTypeToBeLinked), (link, include, linkIndex) => include.CreateNestedLinkedSourceById( link, linker, (TLinkedSource)linkedSource, linkIndex, loadLinkProtocol ) ); }
public LoadLinkerWrapper(Func <IReferenceLoader> createReferenceLoader, IReadOnlyList <IReadOnlyList <Type> > referenceTypeToBeLoadedForEachLoadingLevel, LoadLinkProtocol loadLinkProtocol) { _createReferenceLoader = createReferenceLoader; _referenceTypeToBeLoadedForEachLoadingLevel = referenceTypeToBeLoadedForEachLoadingLevel; _loadLinkProtocol = loadLinkProtocol; }
public ILoadLinker <TLinkedSource> CreateLoadLinker(Func <IReferenceLoader> createReferenceLoader, IReadOnlyList <IReadOnlyList <Type> > referenceTypeToBeLoadedForEachLoadingLevel, LoadLinkProtocol loadLinkProtocol) { return(new LoadLinkerWrapper <TLinkedSource, TLinkedSourceModel>(createReferenceLoader, referenceTypeToBeLoadedForEachLoadingLevel, loadLinkProtocol)); }
public void LinkNestedLinkedSourceFromModel(object linkedSource, Linker linker, LoadLinkProtocol loadLinkProtocol) { SetLinkTargetValues( linkedSource, _includeSet.GetIncludeWithCreateNestedLinkedSourceFromModel, (link, include, linkIndex) => include.CreateNestedLinkedSourceFromModel( link, linker, (TLinkedSource)linkedSource, linkIndex, loadLinkProtocol ) ); }
private void AddDependenciesForAllNestedLinkedSources(Dependency predecessor, LoadLinkProtocol loadLinkProtocol) { foreach (var include in _includeSet.GetIncludes <IIncludeWithCreateNestedLinkedSourceFromModel <TLinkedSource, TAbstractLinkTarget, TLink> >()) { include.AddDependenciesForAllLinkTargets(predecessor, loadLinkProtocol); } }
public void AddDependencyForEachInclude(Dependency predecessor, LoadLinkProtocol loadLinkProtocol) { AddDependenciesForAllReferences(predecessor, loadLinkProtocol); AddDependenciesForAllNestedLinkedSources(predecessor, loadLinkProtocol); }
public Linker(LoadLinkProtocol loadLinkProtocol, DataStore dataStore) { _loadLinkProtocol = loadLinkProtocol; _dataStore = dataStore; }