Project

ChartForgeX

Render deterministic charts, dashboards, topology, hierarchy, and report visuals directly from .NET.

Stars 47
Forks 2
NuGet downloads 75,067
Release ChartForgeX-v2.0.0
Language: HTML Updated: 2026-10-12

API Reference

Class

TopologyIconPackJson

Namespace ChartForgeX.Topology
Assembly ChartForgeX
Modifiers static

Reads and writes dependency-free JSON manifests for topology icon packs.

Inheritance

  • Object
  • TopologyIconPackJson

Methods

AddJsonPack 2 overloads
public static TopologyIconCatalog AddJsonPack(TopologyIconCatalog catalog, String json) #
Returns: TopologyIconCatalog

Adds a JSON manifest icon pack to the catalog.

Parameters

catalog ChartForgeX.Topology.TopologyIconCatalog requiredposition: 0
The target catalog.
json System.String requiredposition: 1
The JSON manifest.

Returns

The current catalog.

public static TopologyIconCatalog AddJsonPack(TopologyIconCatalog catalog, TextReader reader) #
Returns: TopologyIconCatalog

Adds a JSON manifest icon pack read from a text reader to the catalog.

Parameters

catalog ChartForgeX.Topology.TopologyIconCatalog requiredposition: 0
The target catalog.
reader System.IO.TextReader requiredposition: 1
The source text reader.

Returns

The current catalog.

public static TopologyIconCatalog AddJsonPackFile(TopologyIconCatalog catalog, String path) #
Returns: TopologyIconCatalog

Adds a JSON manifest icon pack read from a file to the catalog.

Parameters

catalog ChartForgeX.Topology.TopologyIconCatalog requiredposition: 0
The target catalog.
path System.String requiredposition: 1
The manifest file path.

Returns

The current catalog.

public static TopologyIconCatalog AddJsonPacksFromDirectory(TopologyIconCatalog catalog, String directoryPath, String searchPattern = "*.json", Boolean recursive = false) #
Returns: TopologyIconCatalog

Adds all JSON icon-pack manifests from a directory to the catalog in deterministic file-name order.

Parameters

catalog ChartForgeX.Topology.TopologyIconCatalog requiredposition: 0
The target catalog.
directoryPath System.String requiredposition: 1
The source directory path.
searchPattern System.String = "*.json" optionalposition: 2
The file search pattern.
recursive System.Boolean = false optionalposition: 3
Whether child directories should be searched.

Returns

The current catalog.

FromJson 2 overloads
public static TopologyIconPack FromJson(String json) #
Returns: TopologyIconPack

Creates a topology icon pack from a JSON manifest.

Parameters

json System.String requiredposition: 0
The JSON manifest.

Returns

The imported topology icon pack.

public static TopologyIconPack FromJson(String json, String? manifestDirectory) #
Returns: TopologyIconPack

Creates a topology icon pack from a JSON manifest and optionally resolves pack-local sidecar artwork.

Parameters

json System.String requiredposition: 0
The JSON manifest.
manifestDirectory System.String? requiredposition: 1
The manifest directory used to resolve sidecar artwork paths.

Returns

The imported topology icon pack.

LoadJsonCatalogFromDirectory 2 overloads
public static TopologyIconCatalogLoadResult LoadJsonCatalogFromDirectory(String directoryPath, String searchPattern = "*.json", Boolean recursive = false, Boolean includeBuiltInPacks = true) #
Returns: TopologyIconCatalogLoadResult

Loads a topology icon catalog from a directory and returns per-file diagnostics.

Parameters

directoryPath System.String requiredposition: 0
The source directory path.
searchPattern System.String = "*.json" optionalposition: 1
The file search pattern.
recursive System.Boolean = false optionalposition: 2
Whether child directories should be searched.
includeBuiltInPacks System.Boolean = true optionalposition: 3
Whether the returned catalog should start with ChartForgeX built-in packs.

Returns

The loaded catalog plus per-file diagnostics.

public static TopologyIconCatalogLoadResult LoadJsonCatalogFromDirectory(String directoryPath, TopologyIconCatalogLoadOptions? options) #
Returns: TopologyIconCatalogLoadResult

Loads a topology icon catalog from a directory and returns per-file diagnostics.

Parameters

directoryPath System.String requiredposition: 0
The source directory path.
options ChartForgeX.Topology.TopologyIconCatalogLoadOptions? requiredposition: 1
The load options.

Returns

The loaded catalog plus per-file diagnostics.

LoadJsonManifest 3 overloads
public static TopologyIconPack LoadJsonManifest(String path) #
Returns: TopologyIconPack

Loads a topology icon pack from a JSON manifest file.

Parameters

path System.String requiredposition: 0
The manifest file path.

Returns

The imported topology icon pack.

public static TopologyIconPack LoadJsonManifest(TextReader reader) #
Returns: TopologyIconPack

Loads a topology icon pack from a JSON manifest text reader.

Parameters

reader System.IO.TextReader requiredposition: 0
The source text reader.

Returns

The imported topology icon pack.

public static TopologyIconPack LoadJsonManifest(TextReader reader, String manifestDirectory) #
Returns: TopologyIconPack

Loads a topology icon pack from a JSON manifest text reader and resolves pack-local sidecar artwork.

Parameters

reader System.IO.TextReader requiredposition: 0
The source text reader.
manifestDirectory System.String requiredposition: 1
The manifest directory used to resolve sidecar artwork paths.

Returns

The imported topology icon pack.

public static IReadOnlyList<TopologyIconPackLoadResult> LoadJsonManifestResultsFromDirectory(String directoryPath, String searchPattern = "*.json", Boolean recursive = false) #
Returns: IReadOnlyList<TopologyIconPackLoadResult>

Loads all JSON icon-pack manifests from a directory and reports per-file success or failure.

Parameters

directoryPath System.String requiredposition: 0
The source directory path.
searchPattern System.String = "*.json" optionalposition: 1
The file search pattern.
recursive System.Boolean = false optionalposition: 2
Whether child directories should be searched.

Returns

Per-file load results in deterministic file-name order.

public static IReadOnlyList<TopologyIconPack> LoadJsonManifestsFromDirectory(String directoryPath, String searchPattern = "*.json", Boolean recursive = false) #
Returns: IReadOnlyList<TopologyIconPack>

Loads all JSON icon-pack manifests from a directory in deterministic file-name order.

Parameters

directoryPath System.String requiredposition: 0
The source directory path.
searchPattern System.String = "*.json" optionalposition: 1
The file search pattern.
recursive System.Boolean = false optionalposition: 2
Whether child directories should be searched.

Returns

The imported topology icon packs.

public static Void SaveJsonManifest(TopologyIconPack pack, String path, Boolean indented = true) #
Returns: Void

Saves a topology icon pack to a JSON manifest file.

Parameters

pack ChartForgeX.Topology.TopologyIconPack requiredposition: 0
The icon pack.
path System.String requiredposition: 1
The target manifest file path.
indented System.Boolean = true optionalposition: 2
Whether the manifest should be indented.
public static String ToJsonManifest(TopologyIconPack pack, Boolean indented = true) #
Returns: String

Serializes a topology icon pack as a deterministic JSON manifest.

Parameters

pack ChartForgeX.Topology.TopologyIconPack requiredposition: 0
The icon pack.
indented System.Boolean = true optionalposition: 1
Whether the manifest should be indented.

Returns

The JSON manifest.

public static Void WriteJsonManifest(TopologyIconPack pack, TextWriter writer, Boolean indented = true) #
Returns: Void

Writes a topology icon pack JSON manifest to a text writer.

Parameters

pack ChartForgeX.Topology.TopologyIconPack requiredposition: 0
The icon pack.
writer System.IO.TextWriter requiredposition: 1
The target text writer.
indented System.Boolean = true optionalposition: 2
Whether the manifest should be indented.

Fields

public const String Schema #

Gets the manifest schema identifier.

Value: chartforgex.topology.iconPack