Class AlgorithmIdentityCatalog

java.lang.Object
zeroecho.core.spec.AlgorithmIdentityCatalog

public final class AlgorithmIdentityCatalog extends Object
Deeply immutable snapshot of installed algorithm identities.

Built-in identities reserve the zeroecho namespace. Trusted installed code may contribute identities under another namespace. Duplicate canonical representations fail closed; registration order never supplies precedence. Administrative configuration is not a registration mechanism.

  • Field Details

    • BUILTIN_NAMESPACE

      public static final String BUILTIN_NAMESPACE
      Namespace reserved for immutable built-in identities.
      See Also:
  • Method Details

    • builtIn

      public static AlgorithmIdentityCatalog builtIn(Collection<AlgorithmIdentity> identities)
      Creates the immutable built-in catalog.
      Parameters:
      identities - built-in identities
      Returns:
      immutable catalog
      Throws:
      IllegalArgumentException - if an identity is outside the reserved namespace or collides
    • extension

      public static AlgorithmIdentityCatalog extension(Collection<AlgorithmIdentity> identities)
      Creates a trusted extension catalog.
      Parameters:
      identities - extension identities
      Returns:
      immutable catalog
      Throws:
      IllegalArgumentException - if an extension uses the built-in namespace or contains a collision
    • merge

      Returns a new additive snapshot containing this catalog and all extensions.
      Parameters:
      extensions - trusted installed extension catalogs
      Returns:
      immutable merged snapshot
      Throws:
      IllegalArgumentException - if any canonical identity collides
    • add

      Adds exact parameter combinations to this authority snapshot.

      A trusted extension may add a tuple within an existing reserved family, but cannot introduce a new family under the built-in namespace.

      Parameters:
      additions - exact additive identities
      Returns:
      new immutable catalog
    • resolve

      public Optional<AlgorithmIdentity> resolve(String canonicalForm)
      Resolves a canonical identity without provider alias fallback.
      Parameters:
      canonicalForm - complete canonical representation
      Returns:
      registered exact identity, or empty when unknown
    • identities

      public List<AlgorithmIdentity> identities()
      Returns identities in deterministic canonical order.
      Returns:
      immutable identity list