diff options
Diffstat (limited to 'vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_next')
3 files changed, 411 insertions, 0 deletions
diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_next/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_next/gen_doc.go new file mode 100644 index 000000000..e70c87624 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_next/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertynext contains the implementation for the next property. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The 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. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertynext diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_next/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_next/gen_pkg.go new file mode 100644 index 000000000..20e814b77 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_next/gen_pkg.go @@ -0,0 +1,35 @@ +// Code generated by astool. DO NOT EDIT. + +package propertynext + +import vocab "github.com/go-fed/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeCollectionPageActivityStreams returns the deserialization + // method for the "ActivityStreamsCollectionPage" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCollectionPage, error) + // DeserializeLinkActivityStreams returns the deserialization method for + // the "ActivityStreamsLink" non-functional property in the vocabulary + // "ActivityStreams" + DeserializeLinkActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLink, error) + // DeserializeMentionActivityStreams returns the deserialization method + // for the "ActivityStreamsMention" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeMentionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMention, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_next/gen_property_activitystreams_next.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_next/gen_property_activitystreams_next.go new file mode 100644 index 000000000..6727d280f --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_next/gen_property_activitystreams_next.go @@ -0,0 +1,359 @@ +// Code generated by astool. DO NOT EDIT. + +package propertynext + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsNextProperty is the functional property "next". It is permitted +// to be one of multiple value types. At most, one type of value can be +// present, or none at all. Setting a value will clear the other types of +// values so that only one of the 'Is' methods will return true. It is +// possible to clear all values, so that this property is empty. +type ActivityStreamsNextProperty struct { + activitystreamsCollectionPageMember vocab.ActivityStreamsCollectionPage + activitystreamsLinkMember vocab.ActivityStreamsLink + activitystreamsMentionMember vocab.ActivityStreamsMention + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeNextProperty creates a "next" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeNextProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsNextProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "next" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "next") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &ActivityStreamsNextProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsNextProperty{ + activitystreamsCollectionPageMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeLinkActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsNextProperty{ + activitystreamsLinkMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeMentionActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsNextProperty{ + activitystreamsMentionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsNextProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsNextProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsNextProperty creates a new next property. +func NewActivityStreamsNextProperty() *ActivityStreamsNextProperty { + return &ActivityStreamsNextProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsNextProperty) Clear() { + this.activitystreamsCollectionPageMember = nil + this.activitystreamsLinkMember = nil + this.activitystreamsMentionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.unknown = nil + this.iri = nil +} + +// GetActivityStreamsCollectionPage returns the value of this property. When +// IsActivityStreamsCollectionPage returns false, +// GetActivityStreamsCollectionPage will return an arbitrary value. +func (this ActivityStreamsNextProperty) GetActivityStreamsCollectionPage() vocab.ActivityStreamsCollectionPage { + return this.activitystreamsCollectionPageMember +} + +// GetActivityStreamsLink returns the value of this property. When +// IsActivityStreamsLink returns false, GetActivityStreamsLink will return an +// arbitrary value. +func (this ActivityStreamsNextProperty) GetActivityStreamsLink() vocab.ActivityStreamsLink { + return this.activitystreamsLinkMember +} + +// GetActivityStreamsMention returns the value of this property. When +// IsActivityStreamsMention returns false, GetActivityStreamsMention will +// return an arbitrary value. +func (this ActivityStreamsNextProperty) GetActivityStreamsMention() vocab.ActivityStreamsMention { + return this.activitystreamsMentionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this ActivityStreamsNextProperty) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this ActivityStreamsNextProperty) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this ActivityStreamsNextProperty) GetType() vocab.Type { + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage() + } + if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink() + } + if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this ActivityStreamsNextProperty) HasAny() bool { + return this.IsActivityStreamsCollectionPage() || + this.IsActivityStreamsLink() || + this.IsActivityStreamsMention() || + this.IsActivityStreamsOrderedCollectionPage() || + this.iri != nil +} + +// IsActivityStreamsCollectionPage returns true if this property has a type of +// "CollectionPage". When true, use the GetActivityStreamsCollectionPage and +// SetActivityStreamsCollectionPage methods to access and set this property. +func (this ActivityStreamsNextProperty) IsActivityStreamsCollectionPage() bool { + return this.activitystreamsCollectionPageMember != nil +} + +// IsActivityStreamsLink returns true if this property has a type of "Link". When +// true, use the GetActivityStreamsLink and SetActivityStreamsLink methods to +// access and set this property. +func (this ActivityStreamsNextProperty) IsActivityStreamsLink() bool { + return this.activitystreamsLinkMember != nil +} + +// IsActivityStreamsMention returns true if this property has a type of "Mention". +// When true, use the GetActivityStreamsMention and SetActivityStreamsMention +// methods to access and set this property. +func (this ActivityStreamsNextProperty) IsActivityStreamsMention() bool { + return this.activitystreamsMentionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this ActivityStreamsNextProperty) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this ActivityStreamsNextProperty) IsIRI() bool { + return this.iri != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this ActivityStreamsNextProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": this.alias} + var child map[string]string + if this.IsActivityStreamsCollectionPage() { + child = this.GetActivityStreamsCollectionPage().JSONLDContext() + } else if this.IsActivityStreamsLink() { + child = this.GetActivityStreamsLink().JSONLDContext() + } else if this.IsActivityStreamsMention() { + child = this.GetActivityStreamsMention().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this ActivityStreamsNextProperty) KindIndex() int { + if this.IsActivityStreamsCollectionPage() { + return 0 + } + if this.IsActivityStreamsLink() { + return 1 + } + if this.IsActivityStreamsMention() { + return 2 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 3 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this ActivityStreamsNextProperty) LessThan(o vocab.ActivityStreamsNextProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().LessThan(o.GetActivityStreamsCollectionPage()) + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().LessThan(o.GetActivityStreamsLink()) + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().LessThan(o.GetActivityStreamsMention()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "next". +func (this ActivityStreamsNextProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "next" + } else { + return "next" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this ActivityStreamsNextProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsCollectionPage() { + return this.GetActivityStreamsCollectionPage().Serialize() + } else if this.IsActivityStreamsLink() { + return this.GetActivityStreamsLink().Serialize() + } else if this.IsActivityStreamsMention() { + return this.GetActivityStreamsMention().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetActivityStreamsCollectionPage sets the value of this property. Calling +// IsActivityStreamsCollectionPage afterwards returns true. +func (this *ActivityStreamsNextProperty) SetActivityStreamsCollectionPage(v vocab.ActivityStreamsCollectionPage) { + this.Clear() + this.activitystreamsCollectionPageMember = v +} + +// SetActivityStreamsLink sets the value of this property. Calling +// IsActivityStreamsLink afterwards returns true. +func (this *ActivityStreamsNextProperty) SetActivityStreamsLink(v vocab.ActivityStreamsLink) { + this.Clear() + this.activitystreamsLinkMember = v +} + +// SetActivityStreamsMention sets the value of this property. Calling +// IsActivityStreamsMention afterwards returns true. +func (this *ActivityStreamsNextProperty) SetActivityStreamsMention(v vocab.ActivityStreamsMention) { + this.Clear() + this.activitystreamsMentionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsNextProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsNextProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *ActivityStreamsNextProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsCollectionPage); ok { + this.SetActivityStreamsCollectionPage(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsLink); ok { + this.SetActivityStreamsLink(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsMention); ok { + this.SetActivityStreamsMention(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + + return fmt.Errorf("illegal type to set on next property: %T", t) +} |
