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

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

simply appends the column row. call this first! (you would have to call this first anyway.)

Flush ( ) : bool

flushes the stream

MakeColumnLine ( List columns ) : string

allows you to use any functional writable stream

build a column line (first line in a delim-separated value file)

MakeFormatLine ( List columns ) : string

generate a String.Format line based on our column count

SetTablename ( string tableName ) : void

changes the currently active table, does nothing for this type of file, since it only contains one table.

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 :)

TabSeparatedValueWriter ( ) : System

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

TabSeparatedValueWriter ( string filename ) : System

construct a new writer to append to the given file

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. really, don't write one of these files across multiple threads at the same time.

WriteLine ( string line ) : bool

Write a line directly to our output

Method Details

Close() public method

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

CreateTable() public method

simply appends the column row. call this first! (you would have to call this first anyway.)
public CreateTable ( string tablename, IEnumerable columns ) : bool
tablename string
columns IEnumerable
return bool

Flush() public method

flushes the stream
public Flush ( ) : bool
return bool

MakeColumnLine() public method

allows you to use any functional writable stream build a column line (first line in a delim-separated value file)
public MakeColumnLine ( List columns ) : string
columns List
return string

MakeFormatLine() public method

generate a String.Format line based on our column count
public MakeFormatLine ( List columns ) : string
columns List
return string

SetTablename() public method

changes the currently active table, does nothing for this type of file, since it only contains one table.
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

TabSeparatedValueWriter() public method

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

TabSeparatedValueWriter() public method

construct a new writer to append to the given file
public TabSeparatedValueWriter ( string filename ) : System
filename string
return System

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. really, don't write one of these files across multiple threads at the same time.
public WriteLine ( IEnumerable values ) : bool
values IEnumerable
return bool

WriteLine() public method

Write a line directly to our output
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[]