/// <inheritdoc /> public void ProcessType(Type type, string sourceName) { // Find source data cookers if (SourceDataCookerReference.TryCreateReference(type, out var sourceDataCookerReference)) { Debug.Assert(sourceDataCookerReference != null); this.repoBuilder.AddSourceDataCookerReference(sourceDataCookerReference); } // Find composite data cookers if (CompositeDataCookerReference.TryCreateReference(type, out var compositeDataCookerReference)) { Debug.Assert(compositeDataCookerReference != null); this.repoBuilder.AddCompositeDataCookerReference(compositeDataCookerReference); } // Find tables if (TableExtensionReference.TryCreateReference(type, out var dataExtensionReference)) { Debug.Assert(dataExtensionReference != null); this.repoBuilder.AddTableExtensionReference(dataExtensionReference); } // Find data processors if (DataProcessorReference.TryCreateReference(type, out var dataProcessorReference)) { Debug.Assert(dataProcessorReference != null); this.repoBuilder.AddDataProcessorReference(dataProcessorReference); } }
/// <summary> /// Generate a composite data cooker reference from a given type. /// </summary> /// <param name="candidateType"> /// Data extension type. /// </param> /// <param name="reference"> /// Data extension reference. /// </param> /// <returns> /// <c>true</c> if succeeded, <c>false</c> otherwise. /// </returns> public bool TryCreateCompositeDataCookerReference( Type candidateType, out ICompositeDataCookerReference reference) { Guard.NotNull(candidateType, nameof(candidateType)); return(CompositeDataCookerReference.TryCreateReference(candidateType, out reference)); }