forked from go-fed/activity
-
Notifications
You must be signed in to change notification settings - Fork 1
/
gen_property_jsonld_type_interface.go
158 lines (154 loc) · 7.42 KB
/
gen_property_jsonld_type_interface.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
// Code generated by astool. DO NOT EDIT.
package vocab
import "net/url"
// JSONLDTypePropertyIterator represents a single value for the "type" property.
type JSONLDTypePropertyIterator interface {
// GetIRI returns the IRI of this property. When IsIRI returns false,
// GetIRI will return an arbitrary value.
GetIRI() *url.URL
// GetXMLSchemaAnyURI returns the value of this property. When
// IsXMLSchemaAnyURI returns false, GetXMLSchemaAnyURI will return an
// arbitrary value.
GetXMLSchemaAnyURI() *url.URL
// GetXMLSchemaString returns the value of this property. When
// IsXMLSchemaString returns false, GetXMLSchemaString will return an
// arbitrary value.
GetXMLSchemaString() string
// HasAny returns true if any of the different values is set.
HasAny() bool
// IsIRI returns true if this property is an IRI. When true, use GetIRI
// and SetIRI to access and set this property
IsIRI() bool
// IsXMLSchemaAnyURI returns true if this property has a type of "anyURI".
// When true, use the GetXMLSchemaAnyURI and SetXMLSchemaAnyURI
// methods to access and set this property.
IsXMLSchemaAnyURI() bool
// IsXMLSchemaString returns true if this property has a type of "string".
// When true, use the GetXMLSchemaString and SetXMLSchemaString
// methods to access and set this property.
IsXMLSchemaString() bool
// 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.
JSONLDContext() map[string]string
// 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.
KindIndex() int
// 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.
LessThan(o JSONLDTypePropertyIterator) bool
// Name returns the name of this property: "JSONLDType".
Name() string
// Next returns the next iterator, or nil if there is no next iterator.
Next() JSONLDTypePropertyIterator
// Prev returns the previous iterator, or nil if there is no previous
// iterator.
Prev() JSONLDTypePropertyIterator
// SetIRI sets the value of this property. Calling IsIRI afterwards
// returns true.
SetIRI(v *url.URL)
// SetXMLSchemaAnyURI sets the value of this property. Calling
// IsXMLSchemaAnyURI afterwards returns true.
SetXMLSchemaAnyURI(v *url.URL)
// SetXMLSchemaString sets the value of this property. Calling
// IsXMLSchemaString afterwards returns true.
SetXMLSchemaString(v string)
}
// Identifies the schema type(s) of the JSON-LD entity.
type JSONLDTypeProperty interface {
// AppendIRI appends an IRI value to the back of a list of the property
// "type"
AppendIRI(v *url.URL)
// AppendXMLSchemaAnyURI appends a anyURI value to the back of a list of
// the property "type". Invalidates iterators that are traversing
// using Prev.
AppendXMLSchemaAnyURI(v *url.URL)
// AppendXMLSchemaString appends a string value to the back of a list of
// the property "type". Invalidates iterators that are traversing
// using Prev.
AppendXMLSchemaString(v string)
// At returns the property value for the specified index. Panics if the
// index is out of bounds.
At(index int) JSONLDTypePropertyIterator
// Begin returns the first iterator, or nil if empty. Can be used with the
// iterator's Next method and this property's End method to iterate
// from front to back through all values.
Begin() JSONLDTypePropertyIterator
// Empty returns returns true if there are no elements.
Empty() bool
// End returns beyond-the-last iterator, which is nil. Can be used with
// the iterator's Next method and this property's Begin method to
// iterate from front to back through all values.
End() JSONLDTypePropertyIterator
// Insert inserts an IRI value at the specified index for a property
// "type". Existing elements at that index and higher are shifted back
// once. Invalidates all iterators.
InsertIRI(idx int, v *url.URL)
// InsertXMLSchemaAnyURI inserts a anyURI value at the specified index for
// a property "type". Existing elements at that index and higher are
// shifted back once. Invalidates all iterators.
InsertXMLSchemaAnyURI(idx int, v *url.URL)
// InsertXMLSchemaString inserts a string value at the specified index for
// a property "type". Existing elements at that index and higher are
// shifted back once. Invalidates all iterators.
InsertXMLSchemaString(idx int, v string)
// 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.
JSONLDContext() map[string]string
// KindIndex computes an arbitrary value for indexing this kind of value.
// This is a leaky API method specifically needed only for alternate
// implementations for go-fed. Applications should not use this
// method. Panics if the index is out of bounds.
KindIndex(idx int) int
// Len returns the number of values that exist for the "type" property.
Len() (length int)
// Less computes whether another property is less than this one. Mixing
// types results in a consistent but arbitrary ordering
Less(i, j int) bool
// 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.
LessThan(o JSONLDTypeProperty) bool
// Name returns the name of this property ("type") with any alias.
Name() string
// PrependIRI prepends an IRI value to the front of a list of the property
// "type".
PrependIRI(v *url.URL)
// PrependXMLSchemaAnyURI prepends a anyURI value to the front of a list
// of the property "type". Invalidates all iterators.
PrependXMLSchemaAnyURI(v *url.URL)
// PrependXMLSchemaString prepends a string value to the front of a list
// of the property "type". Invalidates all iterators.
PrependXMLSchemaString(v string)
// Remove deletes an element at the specified index from a list of the
// property "type", regardless of its type. Panics if the index is out
// of bounds. Invalidates all iterators.
Remove(idx int)
// 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.
Serialize() (interface{}, error)
// SetIRI sets an IRI value to be at the specified index for the property
// "type". Panics if the index is out of bounds.
SetIRI(idx int, v *url.URL)
// SetXMLSchemaAnyURI sets a anyURI value to be at the specified index for
// the property "type". Panics if the index is out of bounds.
// Invalidates all iterators.
SetXMLSchemaAnyURI(idx int, v *url.URL)
// SetXMLSchemaString sets a string value to be at the specified index for
// the property "type". Panics if the index is out of bounds.
// Invalidates all iterators.
SetXMLSchemaString(idx int, v string)
// Swap swaps the location of values at two indices for the "type"
// property.
Swap(i, j int)
}