summaryrefslogtreecommitdiff
path: root/vendor/github.com/superseriousbusiness/activity/streams/vocab/gen_doc.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/superseriousbusiness/activity/streams/vocab/gen_doc.go')
-rw-r--r--vendor/github.com/superseriousbusiness/activity/streams/vocab/gen_doc.go61
1 files changed, 61 insertions, 0 deletions
diff --git a/vendor/github.com/superseriousbusiness/activity/streams/vocab/gen_doc.go b/vendor/github.com/superseriousbusiness/activity/streams/vocab/gen_doc.go
new file mode 100644
index 000000000..c9faf499f
--- /dev/null
+++ b/vendor/github.com/superseriousbusiness/activity/streams/vocab/gen_doc.go
@@ -0,0 +1,61 @@
+// Code generated by astool. DO NOT EDIT.
+
+// Package vocab contains the interfaces for the JSONLD vocabulary. All
+// applications are strongly encouraged to use these interface types instead
+// of the concrete definitions contained in the implementation subpackage.
+// These interfaces allow applications to consume only the types and
+// properties needed and be independent of the go-fed implementation if
+// another alternative implementation is created. This package is
+// code-generated and subject to the same license as the go-fed tool used to
+// generate it.
+//
+// Type interfaces contain "Get" and "Set" methods for its properties. Types
+// also have a "Serialize" method to convert the type into an interface map
+// for use with the json package. There is a convenience "IsExtending" method
+// on each types which helps with the ActivityStreams hierarchy, which is not
+// the same as object oriented inheritance. While types also have a "LessThan"
+// method, it is an arbitrary sort. Do not use it if needing to sort on
+// specific properties, such as publish time. It is best used for normalizing
+// the type. Lastly, do not use the "GetUnknownProperties" method in an
+// application. Instead, use the go-fed tool to code generate the property
+// needed.
+//
+// Properties come in two flavors: functional and non-functional. Functional
+// means that a property can have at most one value, while non-functional
+// means a property could have zero, one, or more values. Any property value
+// may also be an IRI, in which case the application will need to make a HTTP
+// request to fetch the property value.
+//
+// Functional properties have "Get", "Is", and "Set" methods for determining
+// what kind of value the property is, fetching that value, or setting that
+// value. There is also a "Serialize" method which converts the property into
+// an interface type, but applications should not typically use a property's
+// "Serialize" and instead should use a type's "Serialize" instead. Like
+// types, properties have an arbitrary "LessThan" comparison function that
+// should not be used if needing to sort on specific values. Finally,
+// applications should not use the "KindIndex" method as it is a comparison
+// mechanism only for those looking to write an alternate implementation.
+//
+// Non-functional properties can have more than one value, so it has "Len"
+// for getting its length, "At" for getting an iterator pointing to an
+// element, "Append" and "Prepend" for adding values, "Remove" for removing a
+// value, "Set" for overwriting a value, and "Swap" for swapping two values'
+// indices. Note that a non-functional property satisfies the sort interface,
+// but it results in an arbitrary but stable ordering best used as a
+// normalized form. A non-functional property's iterator looks like a
+// functional property with "Next" and "Previous" methods. Applications should
+// not use the "KindIndex" methods as it is a comparison mechanism only for
+// those looking to write an alternate implementation of this library.
+//
+// Types and properties have a "JSONLDContext" method that returns a mapping
+// of vocabulary URIs to aliases that are required in the JSON-LD @context
+// when serializing this value. The aliases used by this library when
+// serializing objects is done at code-generation time, unless a different
+// alias was used to deserialize the type or property.
+//
+// Types, functional properties, and non-functional properties are not
+// designed for concurrent usage by two or more goroutines. Also, certain
+// methods on a non-functional property will invalidate iterators and possibly
+// cause unexpected behaviors. To avoid this, re-obtain an iterator after
+// modifying a non-functional property.
+package vocab