Fan

 

const final class

sys::Pod

sys::Obj
  sys::Pod

Pod represents a module of Types. Pods serve as a type namespace as well as unit of deployment and versioning.

Slots

dependsSource

Depend[] depends()

Get the declared list of dependencies for this pod.

docSource

Str? doc()

Return the raw fandoc for this pod or null if not available. If there is additional documentation meta-data available it is included an the start of the string as a series of "@name=value" lines.

facetSource

Obj? facet(Symbol key, Obj? def := null)

Get a facet by symbol key, or return the def is the facet is not defined. See the Facets Doc for details.

facetsSource

Symbol:Obj? facets()

Return all the facets defined for this pod or an empty map if no facets are defined. See the Facets Doc for details.

filesSource

Uri:File files()

Get the map of all the resource files contained by this pod. Resources are any files included in the pod's zip file excluding fcode files. The files are keyed by their Uri relative to the root of the pod zip file.

findSource

static Pod? find(Str name, Bool checked := true)

Find a pod by name. If the pod doesn't exist and checked is false then return null, otherwise throw UnknownPodErr.

findTypeSource

Type? findType(Str name, Bool checked := true)

Find a type by name. If the type doesn't exist and checked is false then return null, otherwise throw UnknownTypeErr.

listSource

static Pod[] list()

Get a list of all the pods installed. Note that currently this method will load all of the pods into memory, so it is an expensive operation.

loadSource

static Pod load(InStream in)

Load a pod into memory from the specified input stream. The stream must contain a valid pod zip file with the all the definitions. The pod is completely loaded into memory and the input stream is closed. The pod cannot have resources. The pod name as defined by /pod.def must be uniquely named or Err is thrown.

locSource

Str? loc(Str key, Str? def := "key")

Return the localized property. This is convenience for:

Locale.current.get(name, key, def)

Also see Locale.get and Type.loc.

logSource

Log log()

Return the log for this pod's name. This is a convenience for Log.get(name). Also see Type.log.

nameSource

Str name()

Simple name of the pod such as "sys".

repoSource

Repo? repo()

Get the repo which was used to load this pod or null if this pod was loaded outside the repository (such as from a script).

symbolSource

Symbol? symbol(Str name, Bool checked := true)

Find a symbol by its unqualified name. If the symbol doesn't exist in this pod and checked is false then return null, otherwise throw UnknownSymbolErr.

symbolsSource

Symbol[] symbols()

List of all the defined symbols.

toStrSource

override Str toStr()

Overrides sys::Obj.toStr

Always return name().

typesSource

Type[] types()

List of the all defined types.

uriSource

Uri uri()

Return the uri for this pod which if "fan:/sys/pod/{name}/".

versionSource

Version version()

Version number for this pod.