Kajabity Tools (for C#) is an Open Source collection of component libraries for use in Microsoft .NET applications.
The Kajabity.Tools.Csv library provides classes to read and write CSV files following the RFC 4180 standard, as well as options to change standard behavior (separator, quotes, encoding).
The library is available to clone or fork on GitHub (https://github.com/Kajabity/Kajabity.Tools.Csv) or as a NuGet (Kajabity.Tools.Csv ).
The Kajabity.Tools.Java library provides classes to provide functionality similar to the Java Properties class – it maintains a collection of string key-value pairs and can load them from or store them to a Java style “.properties” file.
The library is available to clone or fork on GitHub (https://github.com/Kajabity/Kajabity.Tools.Java) or as a NuGet (Kajabity.Tools.Java).
The Kajabity.DocForms library provides a base class for Windows Forms applications providing support for all the standard Document operations – File New, Open, Save, Save As, Close, Open Recent Document. Extend the Document and DocumentManager classes to support your required document types.
The library is available to clone or fork on GitHub (https://github.com/Kajabity/Kajabity.DocForms) or as a NuGet (Kajabity.DocForms).
Original Kajabity Tools
Originally, Kajabity Tools was a single .NET project with WinForms classes (SDIForm) and associated Document classes, combined with CSV and Java Properties file IO classes. These have now been split out into separate projects as illustrated in the diagram below:
The projects are now separated into separate GitHub repositories with similarly named NuGets:
- Kajabity.Tools.Csv (NuGet) version 0.1 – the CSV classes from Kajabity Tools.
- Kajabity.Tools.Java (NuGet) version 0.1 – the Java Properties classes from Kajabity Tools.
- Kajabity.DocForms (NuGet) version 0.1 – the Document and SDIForm classes from Kajabity Tools, now moved into distinct namespaces.
- Kajabity.Tools (NuGet) version 0.4 – the original Kajabity Tools project incorporating the Document, SDIForm, CSV and Java Properties classes.
Note: The original Kajabity.Tools project will no longer be maintained and future development will be in the separate Csv, Java and DocForms projects.
The Kajabity Tools projects support the following features:
- JavaProperties – classes to read and write Java style “.properties” files in .NET applications.
- CSVReader, CSVWriter – classes to read and write “.csv” files including reading or appending a single field or row at a time.
- SDIForm, Document, DocumentManager – a simple framework for quickly building Single Document Interface (SDI) desktop applications which create and maintain files.
Test and Usage
A small number of NUnit tests are included to ensure the code continues to work properly as bugs are fixed and new features are added.
These tests also serve as examples of how to use the classes – and some of this code appears on the relevant Usage pages for the classes.
The developer notes page introduces the tests and how they may be run as well as some notes on the development environment I’ve been using.
Downloads, Release Notes
Kajabity Tools is available as NuGet packages or from GitHub (see the links at the top of the page). Copies of the code, compiled DLL, and help file can be found on the download page and there are Release Notes for each release.
The project is released under Apache License 2.0 .