Top level namespace for Consumer API classes. Classes under this namespace are meant to be consumed by end developers. Provides all the core classes neccassary for loading individual files or wiring in a repoistory loading pattern with automatic save/backup capibilities.
Classes
| Class | Description | |
|---|---|---|
|
|
KerbalData |
Top level consumer API class used for accessing and loading KSP data.
|
|
|
KerbalDataException |
Base Exception used any time an error with the underlying cache API is surfaced.
|
|
|
KerbalDataExtension |
Extensions used and provided by KebralData
|
|
|
KerbalDataManager |
Recommended base to use when developing custom Data manager instances like KerbalData, provides key base functionality.
|
|
|
KerbalDataObject |
Base implementation for consumer data model. Provides wire up override for base dictionary. Used for storing properties that have not been mapped.
|
|
|
KspData |
Single file loading helper method class. Can be used to load/save and convert individual data items/files
Remarks This permanent helper class is also consumed by the and may be used by other file system based repositories. Examples Multiple methods in this class have parameters for either a configuration section name to automatically configure a ProcessorRegistry for use in serialization. The other accepts an instance of KspProcessor T to use for serialization <configuration> <configSections> <section name="kerbalData" type="KerbalData.Configuration.ApiConfig, KerbalData"/> </configSections> <kerbalData> <processors> <processor index="0"> <serializer type="KerbalData.Serialization.Serializers.V018x.DataSerializer, KerbalData"/> <converter type="KerbalData.Serialization.Serializers.V018x.JsonModelConverter`1, KerbalData"/> </processor> <processor index="1" modelType="Newtonsoft.Json.Linq.JObject, Newtonsoft.Json"> <serializer type="KerbalData.Serialization.Serializers.V018x.DataSerializer, KerbalData"/> <converter type="KerbalData.Serialization.Serializers.V018x.JsonObjectConverter`1, KerbalData"/> </processor> </processors> </kerbalData> </configuration> |
|
|
KspDataContext |
Model object provided to de-serializer/serilaizer classes for defining the basic structure of the KSP data prior to conversion to JSON
|
|
|
KspDataField |
Model class used by KspDataObject as a key component in data serilaization/de-serialization.
|
|
|
KspDataObject |
Core data context object used for data serilization/de-serilaization. Only implementation build on IKspDataConverter or IKspFileConverter
|
|
|
ObservableDictionary TKey, TValue | |
|
|
ObservableDictionary TKey, TValue KeyedDictionaryEntryCollection TKey | |
|
|
ProcessorRegistry |
The registry is used to retrieve/create the correct type of processor for the desired model and underlying data
|
|
|
RepoFactory |
Provides lookup and object creation of IKerbalDataRepo T instance based on configuration
|
|
|
StorableItemMetadata T |
Meta-data wrapper for storable data. Used for lazy loading.
|
|
|
StorableObject | |
|
|
StorableObjects T |
Maintains the top level collection of Kerbal data objects.
Works similar to a dictionary however it does not implement IDictionary in order to restrict usage.
It is important to note that unlike an IDictionary implementation this class will accept a call to the Add method
even if another value with the same name already exists. The previous value will be overwritten by the latest addition to the
list.
|
|
|
UnMappedPropertiesConverter T |
JSON.NET implementation class for de-serializing to classes while storing unmapped properties to the the IKerbalDataObject implmentation.
|
Structures
| Structure | Description | |
|---|---|---|
|
|
ObservableDictionary TKey, TValue Enumerator TKey, TValue |
Interfaces
| Interface | Description | |
|---|---|---|
|
|
IKerbalDataManager |
Base interface for top-level consumer API classes. Allows consumers to create custom models that leverage API features.
|
|
|
IKerbalDataObject |
Base data object. Included dictionary requirement to provide storage for root level values not mapped to strongly typed properties.
|
|
|
IKerbalDataRepo T |
Requirements for data loading repository. Additional implementations may be provided to store/load KSP data from any desired store.
|
|
|
IStorable |
Represents a data element that can be saved as a unit.
|
|
|
IStorableObjects |
Base contract for a class that can manage multiple IStorable instances includes requirements to provide end-user methods
|