Cascade
Loading...
Searching...
No Matches
Buzzware.Cascade Namespace Reference

Classes

class  BelongsToAttribute
 Attribute to denote that a property is a reference to another record (of specified id) of another type. The id is read from the property specified by IdProperty, and the type is taken from the local property. More...
class  CascadeConfig
 User configuration class for the Cascade library. More...
class  CascadeConstants
 Provides constant values used throughout the Cascade library.
class  CascadeDataLayer
 Methods to manipulate properties and association relationships between models. More...
class  CascadeIdAttribute
 Attribute used to mark the primary key property of a Cascade managed model. More...
class  CascadeJsonSerialization
 CascadeJsonSerialization handles JSON serialization and deserialization within the Cascade framework. Provides utilities to serialize and deserialize model objects while considering configurable options to ignore certain properties based on defined conditions. Implemented using System.Text.Json. More...
class  CascadePaginator< Model >
 The CascadePaginator class is an abstract base class designed to handle paginated retrieval of model data from a CascadeDataLayer. This class provides mechanisms to query, clear, and manage state associated with pagination such as the highest page queried and whether the last page has been fully loaded. More...
class  CascadePropertyAttribute
 Attribute used to explicitly specify the CascadePropertyKind of a property on a Cascade managed model. This overrides the default classification logic in FastReflection. More...
class  CascadePropertyInfo
class  CascadeQueryOptions
 Represents the options for a Cascade query including various settings and preferences that can influence the query execution and results. More...
class  CascadeTypeUtils
 Utility class providing methods to interact and retrieve information about types in the Cascade library, particularly for handling type conversions, checks, and operations related to model properties.
class  CascadeUtils
 A utility class providing general helper methods for the Cascade library.
class  ClassInfo
class  ComparableExtensions
 Provides extension methods for any type implementing IComparable<T> to simplify comparison logic.
class  ConcurrentFileSystemClassCache< Model, IdType >
class  DateTimeJsonConverter
 Default Json converter for DateTime and DateTime? typed properties. More...
class  DictionaryJsonConverter
 Custom JSON converter for handling serialization and deserialization of Dictionary<string, object?> using System.Text.Json. More...
class  EnumerableAdapter
 Static class providing utility methods for creating generic and non-generic sequences from a non-generic source using the EnumerableAdapter.
class  EnumerableAdapter< T >
 This class implements IEnumerable<T> to adapt a non-generic IEnumerable to work with a specified type T by casting the elements of the source enumeration to type T. More...
class  FastFileClassCache< Model, IdType >
 Provides a file based IModelClassCache which stores serialized model classes and their collections in directory-based file storage. It uses hashing and memory storage to speed up some reads and writes. More...
class  FastReflection
class  FileBlobCache
 This class is responsible for managing cached blobs within a local file system. It implements IBlobCache to store, fetch, and clear data. More...
class  FileSystemClassCache< Model, IdType >
 A simple file system-based cache for storing and retrieving instances of a model class with specified ID type. Implements IModelClassCache to fetch, store, and remove model instances and collections using JSON serialization. More...
class  FNVHash
 FNVHash provides methods for generating hash values using the Fowler-Noll-Vo hashing algorithm. It is chosen for its speed (10-100X SHA-256) and low collision rate. It supports generating hash values of varying bit lengths. FNV is not a cryptographic hash. More...
class  FromBlobAttribute
 Attribute marking a property as the destination and type for conversion from a blob of a given path. The converter is also specified. More...
class  FromPropertyAttribute
 Attribute to specify the source property and optional converter and arguments for property mapping, allowing customization of how a property gets populated. More...
class  HasManyAttribute
 Represents an attribute that specifies a one-to-many relationship. Used to mark a property intended to store a collection of child entities related to the local parent by a foreign key, identified by the specified property. More...
class  HasOneAttribute
 This attribute class is used within the Cascade library to indicate a 'has-one' relationship between entities. When applied to a property, it signifies that the property represents a single related entity and specifies the property name that holds the foreign key to the related entity. More...
interface  IBlobCache
 Defines a cache for storing and retrieving blob data in a Cascade data layer. More...
interface  IBlobConverter
 Interface for blob conversion within the Cascade library. Responsible for converting binary data to a specified type. More...
interface  ICascadeCache
 Interface for one cache layer. More...
interface  ICascadeOrigin
 Defines a Cascade Origin, with methods to process requests, manage authentication, and interact with model types in the Cascade framework. More...
interface  ICascadePlatform
class  IdKeyDictionary< TValue >
class  ImmutableDictionaryJsonConverter
 Custom JSON converter for serializing and deserializing ImmutableDictionary<string, object?> using System.Text.Json. More...
interface  IModelClassCache
 Interface for a cache to store model instances for a specified model class. More...
interface  IModelClassOrigin
 Interface defining the origin for a single class. More...
interface  IPropertyConverter
 Interface that defines a converter to convert a property value from one type to another. More...
class  LogIf
class  MetaCache
 The MetaCache class provides caching functionality for metadata associated with CascadeDataLayer. It enables loading, storage, retrieval, and clearing of metadata in a dictionary structure, maintaining a local cache and synchronizing changes with the CascadeDataLayer. As metadata is implemented using files, this cache can be used for fast UI updates by avoiding file access. More...
class  MixedTypeComparer
class  ModelCache
 Top level cache implementing ICascadeCache. This class manages an array of IModelClassCache, one per model class. The IModelClassCache implementations passed to the constructor can use any storage mechanism, and Cascade provides a few file and memory options. A IBlobCache can also be included to manage the storing, fetching, and clearing of binary blob data. More...
class  ModelClassCache< Model, IdType >
 A memory based cache for a given model type designed to store and retrieve instances of models and collections of ids with associated arrival timestamps. More...
class  ModelConfig
class  MutationAttemptException
 Custom exception thrown when a mutation attempt is made on an immutable property. More...
class  OfflineUtils
 Provides utilities for creating and managing offline instances of SuperModel objects.
class  OpResponse
 Represents the response of an operation request in the Cascade library. This class encapsulates information about the operation's result, its connection status, elapsed time, and more. More...
class  RandomUtils
 Utility class providing methods for generating random values.
class  RequestOp
 Represents a request operation in the Cascade library. It encapsulates all necessary details such as the type, verb, id, value, etc. More...
class  SuperModel
 A base class for Cascade models that handles property change notifications, property mutations, and proxy functionality. More...

Enumerations

enum  FreshnessState { Fresh , Stale , Expired , Absent }
enum  CascadePropertyKind {
  None , Unknown , Internal , Id ,
  Data , HasOne , HasMany , BelongsTo ,
  FromBlob , FromProperty
}
enum  RequestVerb {
  None , Create , Get , Update ,
  Replace , Destroy , Query , Execute ,
  GetCollection , BlobGet , BlobGetFilePath , BlobPut ,
  BlobDestroy
}
 Enum representing various possible verbs for a request operation, such as Create, Get, Update, etc.