Models
Data Model for handy extension funtions
Data Models are designed for serveral uses:
cache data
extension functions, prevent from using primitive types
Basically all models are readonly. Data cannot be modified after constructed.
CSV Data
// build data
CsvData csvData = CsvData.Builder()
.WithHeaderFields("No", "Name", "Address")
.WithFields("1", "Peter Ballpen", "Somewhere Villege")
.WithFields("2", "Apple Cake", "You Guess Garden")
.Build();
// or with line by line
CsvData csvData = CsvData.Builder()
.WithHeader("\"No\",\"Name\",\"Address\"")
.WithLine("\"1\",\"Peter Ballpen\",\"Somewhere Villege\"")
.WithLine("\"2\",\"Apple Cake\",\"You Guess Garden\"")
.Build();
// check data has header
csvData.HasHeader;
// get header fields
csvData.Header;
// get all lines
IEnumerable<string[]> lines = csvData.Lines;
// get fields of specified line
// not including header
string[] line = csvData[2];
// get columns of csv data
csvData.ColumnCount;
// get lines of csv data
// not including header
csvData.LineCount;Json Data
// build data with Text or TextAsset
var jsonData = JsonData.Builder()
.WithText("{\"name\":\"Apple\"}")
.WithTypeName() // optional
.Build();
// build data with JObject or JArray (Newtonsoft.Json)
var jsonData = JsonData.Builder()
.WithJContainer(jObject)
.WithTypeName() // optional
.Build();
// Get Text
jsonData.Text;
// Get JContainer
jsonData.Container;Path Data
// build data
var pathData = PathData.Builder()
.WithPath("path", "to", "somewhere")
.Build();
// get full path
pathData.FullPath;
// get filename
pathData.Filename;
// get filename without extension
pathData.FilenameWithoutExtension;
// get file extension
pathData.FileExtension;
// compare with PathData or String
pathData == pathData2;
pathData == "/path/to/there";Last updated