Class PopulatorAllowlist

java.lang.Object
org.apache.juneau.console.views.PopulatorAllowlist

public final class PopulatorAllowlist extends Object
Serving-path allowlist of populator names that may be named on a region (RegionDef.populate).

This is an authoring-discipline control, not a security boundary, and the reason is structural, not a weaker policy choice. SinkRenderAllowlist is real defense: a named renderer's markup still has to pass through the closed fillRenderSlot copier, so an accepted id only ever gets to write what that copier lets it write. A populator has no such copier anywhere in its path — JuneauViews.regions.resolve(name) hands the resolved function the region's container element outright, and from that point the populator owns the container completely. This class therefore controls only which name is resolved; it says nothing whatever about what the resolved populator then does with the container it is handed. A reader who treats this allowlist as a security boundary equivalent to SinkRenderAllowlist will over-trust it.

Since:
10.0.0
  • Field Details

    • BUILTIN_IDS

      public static final Set<String> BUILTIN_IDS
      The reserved declarative-default populator name — the only Juneau-shipped populator today.

      Unlike an ordinary JuneauViews.regions.register(name, fn) entry, which is last-write-wins and freely overridable by a later registration under the same name, the client registry refuses to let a consumer override the entry named "default": that name is reserved for the framework's own declarative-default populator.

  • Method Details