C# Class Azavea.NijPredictivePolicing.Common.Data.GenericSeparatedValueWriter

a basic implementation of the IDataWriter interface, so we can simply export tab separated value files
Inheritance: IDataFileWriter
Datei anzeigen Open project: azavea/acs-alchemist

Protected Properties

Property Type Description
_filename string
_line StringBuilder
_outputStream System.IO.StreamWriter
_splitChars char[]

Public Methods

Method Description
Close ( ) : bool

closes the underlying stream

CreateTable ( string tablename, IEnumerable columns ) : bool
Flush ( ) : bool

flushes the stream

GenericSeparatedValueWriter ( ) : System

construct a new blank writer (any writes will throw exceptions if you don't set a stream or a file!)

GenericSeparatedValueWriter ( string filename, char delims ) : System

construct a new writer to append to the given file

MakeColumnLine ( List columns ) : string

allows you to use any functional writable stream

generate the first column properly

MakeFormatLine ( List columns ) : string

generate the first column properly

SetTablename ( string tableName ) : void
SetWriteFile ( string filename ) : bool

specify an output file for APPENDing to, and sharing reading. (if you don't like it, send in your own filestream :)

WriteLine ( IEnumerable values ) : bool

Make sure you have a value for every column! This is really intentionally not thread safe, do not share this class across threads.

WriteLine ( string line ) : bool

Method Details

Close() public method

closes the underlying stream
public Close ( ) : bool
return bool

CreateTable() public method

public CreateTable ( string tablename, IEnumerable columns ) : bool
tablename string
columns IEnumerable
return bool

Flush() public method

flushes the stream
public Flush ( ) : bool
return bool

GenericSeparatedValueWriter() public method

construct a new blank writer (any writes will throw exceptions if you don't set a stream or a file!)
public GenericSeparatedValueWriter ( ) : System
return System

GenericSeparatedValueWriter() public method

construct a new writer to append to the given file
public GenericSeparatedValueWriter ( string filename, char delims ) : System
filename string
delims char
return System

MakeColumnLine() public method

allows you to use any functional writable stream generate the first column properly
public MakeColumnLine ( List columns ) : string
columns List
return string

MakeFormatLine() public method

generate the first column properly
public MakeFormatLine ( List columns ) : string
columns List
return string

SetTablename() public method

public SetTablename ( string tableName ) : void
tableName string
return void

SetWriteFile() public method

specify an output file for APPENDing to, and sharing reading. (if you don't like it, send in your own filestream :)
public SetWriteFile ( string filename ) : bool
filename string
return bool

WriteLine() public method

Make sure you have a value for every column! This is really intentionally not thread safe, do not share this class across threads.
public WriteLine ( IEnumerable values ) : bool
values IEnumerable
return bool

WriteLine() public method

public WriteLine ( string line ) : bool
line string
return bool

Property Details

_filename protected_oe property

an internal copy of our filename
protected string _filename
return string

_line protected_oe property

our buffer for constructing lines
protected StringBuilder _line
return StringBuilder

_outputStream protected_oe property

our wrapper around any provided stream
protected StreamWriter,System.IO _outputStream
return System.IO.StreamWriter

_splitChars protected_oe property

the tab, for the tab-separated part
protected char[] _splitChars
return char[]