public ChoFixedLengthRecordWriter(Type recordType, ChoFixedLengthRecordConfiguration configuration) : base(recordType) { ChoGuard.ArgumentNotNull(configuration, "Configuration"); Configuration = configuration; _callbackFileHeaderArrange = ChoMetadataObjectCache.CreateMetadataObject <IChoNotifyFileHeaderArrange>(recordType); _callbackFileHeaderWrite = ChoMetadataObjectCache.CreateMetadataObject <IChoNotifyFileHeaderWrite>(recordType); _callbackRecordWrite = ChoMetadataObjectCache.CreateMetadataObject <IChoNotifyRecordWrite>(recordType); _callbackFileWrite = ChoMetadataObjectCache.CreateMetadataObject <IChoNotifyFileWrite>(recordType); _callbackRecordFieldWrite = ChoMetadataObjectCache.CreateMetadataObject <IChoNotifyRecordFieldWrite>(recordType); _recBuffer = new Lazy <List <object> >(() => { if (Writer != null) { var b = Writer.Context.RecBuffer; if (b == null) { Writer.Context.RecBuffer = new List <object>(); } return(Writer.Context.RecBuffer); } else { return(new List <object>()); } }); //Configuration.Validate(); }
public ChoAvroRecordWriter(Type recordType, ChoAvroRecordConfiguration configuration) : base(recordType) { ChoGuard.ArgumentNotNull(configuration, "Configuration"); Configuration = configuration; _callbackFileHeaderArrange = ChoMetadataObjectCache.CreateMetadataObject <IChoNotifyFileHeaderArrange>(recordType); _callbackRecordWrite = ChoMetadataObjectCache.CreateMetadataObject <IChoNotifyRecordWrite>(recordType); _callbackFileWrite = ChoMetadataObjectCache.CreateMetadataObject <IChoNotifyFileWrite>(recordType); _callbackRecordFieldWrite = ChoMetadataObjectCache.CreateMetadataObject <IChoNotifyRecordFieldWrite>(recordType); System.Threading.Thread.CurrentThread.CurrentCulture = Configuration.Culture; _recBuffer = new Lazy <List <object> >(() => { if (Writer != null) { var b = Writer.Context.ContainsKey("RecBuffer") ? Writer.Context.RecBuffer : null; if (b == null) { Writer.Context.RecBuffer = new List <object>(); } return(Writer.Context.RecBuffer); } else { return(new List <object>()); } }, true); BeginWrite = new Lazy <bool>(() => { if (_sw != null) { return(RaiseBeginWrite(_sw)); } if (_avroWriter != null) { return(RaiseBeginWrite(_avroWriter)); } return(false); }); //Configuration.Validate(); }
public ChoYamlRecordWriter(Type recordType, ChoYamlRecordConfiguration configuration) : base(recordType, true) { ChoGuard.ArgumentNotNull(configuration, "Configuration"); Configuration = configuration; _callbackRecordWrite = ChoMetadataObjectCache.CreateMetadataObject <IChoNotifyRecordWrite>(recordType); _callbackFileWrite = ChoMetadataObjectCache.CreateMetadataObject <IChoNotifyFileWrite>(recordType); _callbackRecordFieldWrite = ChoMetadataObjectCache.CreateMetadataObject <IChoNotifyRecordFieldWrite>(recordType); _callbackRecordSeriablizable = ChoMetadataObjectCache.CreateMetadataObject <IChoRecordFieldSerializable>(recordType); System.Threading.Thread.CurrentThread.CurrentCulture = Configuration.Culture; //_recBuffer = new Lazy<List<object>>(() => //{ // if (Writer != null) // { // var b = Writer.Context.ContainsKey("RecBuffer") ? Writer.Context.RecBuffer : null; // if (b == null) // Writer.Context.RecBuffer = new List<object>(); // return Writer.Context.RecBuffer; // } // else // return new List<object>(); //}, true); //Configuration.Validate(); BeginWrite = new Lazy <bool>(() => { TextWriter sw = _sw as TextWriter; if (sw != null) { return(RaiseBeginWrite(sw)); } return(false); }); }