Namespace ToSic.Sxc.Data
The dynamic data system used in 2sxc. It's primary purpose is to ensure that you can easily use dynamic objects to write templates, tokens and more. we have two different topics covered:
- Dynamic Entities to simplify code using IEntity objects - IDynamicEntity and
- Dynamic Jackets to simplify code using JSON -
ToSic.Sxc.Data.DynamicJacket
s andToSic.Sxc.Data.DynamicJacketList
s
Interfaces
- IDynamicEntity
This is a wrapper for IEntity objects. It provides nicer access to underlying properties and automatically handles things like multi-language etc. The underlying IEntity IEntity is in the Entity property.
Normally you will use it without caring about these internals.
Please check @HowTo.DynamicCode.DynamicEntity
- IDynamicStack
This is a dynamic object which contains multiple dynamic objects (Sources). It will try to find a value inside each source in the order the Sources are managed.
- IField
This describes a field-property of an item/entity. It's used for APIs which can need to know more about the field holding an item, like:
- The field name and parent reference
- The values in raw and converted
- Any metadata of the field
- IMetadata
Metadata on Dynamic Objects - like IDynamicEntity or IAsset (files/folders).
Behaves like a normal DynamicEntity, but has additional commands to detect if specific Metadata exists.
- IPublishing
Publishing Information for ITypedItems.
- ISecureData<T>
This object contains decrypted data (if it was encrypted originally) and tells you if the data was encrypted, signed etc. It's still very basic, and will grow in functionality to assist in handling secure / encrypted / signed data.
- ITyped
This describes objects which usually wrap other objects to provide strictly typed access to properties. have typed Methods to read properties like
.String(propName)
.It's usually the result of a
AsTyped(something)
orAsItem(...)
command.It's meant to help Razor etc. access unknown or dynamic objects in a typed way.
- ITypedItem
A typed object to access data. Previously Razor code always used
dynamic
IDynamicEntity objects. This had some disadvantages when working with LINQ or advanced toolbars.
- ITypedStack
The stack as typed object.