pod
sys
Pod Facets
@podBuildHost = "BLAZE" @podResDirs = [`locale/`] @podBuildTime = DateTime("2009-07-24T12:24:18.453-04:00 New_York") @podIndexFacets = [@sys::uriScheme] @podBuildUser = "Brian" @podDepends = Depend[,] @podSrcDirs = [`fan/`]
Symbols
- collection
-
Bool collection := false
Collection is a Bool marker facet used to annotate serializable types as a collection of child objects. All types which implement this facet must follow these rules where
Item
is the item type:- Provide an
add(Item)
method to add child items duringreadObj
- Provide an
each(|Item| f)
method to iterate children item duringwriteObj
See the Serialization Doc for details.
- Provide an
- js
-
Bool js := false
Used to annoate types and slots which should be compiled into JavaScript.
- nodoc
-
Bool nodoc := false
This facet is used on pod, public types, and slots to indicate they should not be documented with automated tools such as Fandoc. As a developer you should avoid using these types and slots since they are explicitly marked as not part of the public API.
- podBuildHost
-
Str podBuildHost := ""
Pod facet for host machine used to build pod Facet is set automatically by compiler.
- podBuildTime
-
DateTime podBuildTime := ""
Pod facet for time target was pod was built local to build host. Facet is set automatically by compiler.
- podBuildUser
-
Str podBuildUser := ""
Pod facet for account used to build pod. Facet is set automatically by compiler.
- podDepends
-
Depend[] podDepends := Depend[,]
Dependencies of the pod.
- podDotnetDirs
-
Uri[]? podDotnetDirs := null
List of Uris relative to "pod.fan" of directories containing the C# source files to compile for .NET native methods.
- podIndexFacets
-
Symbol[] podIndexFacets := Symbol[,]
List of facet symbols to index for the type database.
See Facet Indexing for details.
- podJavaDirs
-
Uri[]? podJavaDirs := null
List of Uris relative to "pod.fan" of directories containing the Java source files to compile for Java native methods.
- podJsDirs
-
Uri[]? podJsDirs := null
List of Uris relative to "pod.fan" of directories containing the JavaScript source files to compile for JavaScript native methods.
- podResDirs
-
Uri[]? podResDirs := null
List of Uris relative to "pod.fan" of directories of resources files to package into pod zip file. Optional.
- podSrcDirs
-
Uri[]? podSrcDirs := null
List of Uris relative to "pod.fan" of directories containing the Fan source files to compile.
- serializable
-
Bool serializable := false
Serializable is a Bool marker facet used to annotate types which can be serialized. Objects are serialized via
sys::OutStream.writeObj
and deserialized viasys::InStream.readObj
. Types which implement this facet or inherit it are serialized as a complex. If a type should be serialized atomically as a simple then implement the simple facet (never implement both). See the Serialization Doc for details. - simple
-
Bool simple := false
Simple is a Bool marker facet used to annotate types which are serialized automatically via a string representation. All types which implement this facet must follow these rules:
- Override
sys::Obj.toStr
to return a suitable string representation of the object. - Must declare a static method called
fromStr
which takes oneStr
parameter and returns an instance of the declaring type. ThefromStr
method may contain additional parameters if they declare defaults.
- Override
- transient
-
Bool transient := false
Transient is a facet used to annotate fields which should not be serialized inside a serializable type. See the Serialization Doc for details.
- uriScheme
-
Str uriScheme := ""
Used on
UriScheme
subclasses to implement a URI scheme handler. See docLang.