gotosocial/vendor/github.com/go-fed/activity/streams/impl/w3idsecurityv1/type_publickey/gen_type_w3idsecurityv1_publickey.go
Tobi Smethurst 98263a7de6
Grand test fixup (#138)
* start fixing up tests

* fix up tests + automate with drone

* fiddle with linting

* messing about with drone.yml

* some more fiddling

* hmmm

* add cache

* add vendor directory

* verbose

* ci updates

* update some little things

* update sig
2021-08-12 21:03:24 +02:00

290 lines
9.3 KiB
Go

// Code generated by astool. DO NOT EDIT.
package typepublickey
import vocab "github.com/go-fed/activity/streams/vocab"
// A public key represents a public cryptographical key for a user
type W3IDSecurityV1PublicKey struct {
JSONLDId vocab.JSONLDIdProperty
W3IDSecurityV1Owner vocab.W3IDSecurityV1OwnerProperty
W3IDSecurityV1PublicKeyPem vocab.W3IDSecurityV1PublicKeyPemProperty
alias string
unknown map[string]interface{}
}
// DeserializePublicKey creates a PublicKey from a map representation that has
// been unmarshalled from a text or binary format.
func DeserializePublicKey(m map[string]interface{}, aliasMap map[string]string) (*W3IDSecurityV1PublicKey, error) {
alias := ""
if a, ok := aliasMap["https://w3id.org/security/v1"]; ok {
alias = a
}
this := &W3IDSecurityV1PublicKey{
alias: alias,
unknown: make(map[string]interface{}),
}
// Begin: Known property deserialization
if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil {
return nil, err
} else if p != nil {
this.JSONLDId = p
}
if p, err := mgr.DeserializeOwnerPropertyW3IDSecurityV1()(m, aliasMap); err != nil {
return nil, err
} else if p != nil {
this.W3IDSecurityV1Owner = p
}
if p, err := mgr.DeserializePublicKeyPemPropertyW3IDSecurityV1()(m, aliasMap); err != nil {
return nil, err
} else if p != nil {
this.W3IDSecurityV1PublicKeyPem = p
}
// End: Known property deserialization
// Begin: Unknown deserialization
for k, v := range m {
// Begin: Code that ensures a property name is unknown
if k == "id" {
continue
} else if k == "owner" {
continue
} else if k == "publicKeyPem" {
continue
} // End: Code that ensures a property name is unknown
this.unknown[k] = v
}
// End: Unknown deserialization
return this, nil
}
// IsOrExtendsPublicKey returns true if the other provided type is the PublicKey
// type or extends from the PublicKey type.
func IsOrExtendsPublicKey(other vocab.Type) bool {
if other.GetTypeName() == "PublicKey" {
return true
}
return PublicKeyIsExtendedBy(other)
}
// NewW3IDSecurityV1PublicKey creates a new PublicKey type
func NewW3IDSecurityV1PublicKey() *W3IDSecurityV1PublicKey {
return &W3IDSecurityV1PublicKey{
alias: "",
unknown: make(map[string]interface{}),
}
}
// PublicKeyIsDisjointWith returns true if the other provided type is disjoint
// with the PublicKey type.
func PublicKeyIsDisjointWith(other vocab.Type) bool {
// Shortcut implementation: is not disjoint with anything.
return false
}
// PublicKeyIsExtendedBy returns true if the other provided type extends from the
// PublicKey type. Note that it returns false if the types are the same; see
// the "IsOrExtendsPublicKey" variant instead.
func PublicKeyIsExtendedBy(other vocab.Type) bool {
// Shortcut implementation: is not extended by anything.
return false
}
// W3IDSecurityV1PublicKeyExtends returns true if the PublicKey type extends from
// the other type.
func W3IDSecurityV1PublicKeyExtends(other vocab.Type) bool {
// Shortcut implementation: this does not extend anything.
return false
}
// GetJSONLDId returns the "id" property if it exists, and nil otherwise.
func (this W3IDSecurityV1PublicKey) GetJSONLDId() vocab.JSONLDIdProperty {
return this.JSONLDId
}
// GetTypeName returns the name of this type.
func (this W3IDSecurityV1PublicKey) GetTypeName() string {
return "PublicKey"
}
// GetUnknownProperties returns the unknown properties for the PublicKey type.
// Note that this should not be used by app developers. It is only used to
// help determine which implementation is LessThan the other. Developers who
// are creating a different implementation of this type's interface can use
// this method in their LessThan implementation, but routine ActivityPub
// applications should not use this to bypass the code generation tool.
func (this W3IDSecurityV1PublicKey) GetUnknownProperties() map[string]interface{} {
return this.unknown
}
// GetW3IDSecurityV1Owner returns the "owner" property if it exists, and nil
// otherwise.
func (this W3IDSecurityV1PublicKey) GetW3IDSecurityV1Owner() vocab.W3IDSecurityV1OwnerProperty {
return this.W3IDSecurityV1Owner
}
// GetW3IDSecurityV1PublicKeyPem returns the "publicKeyPem" property if it exists,
// and nil otherwise.
func (this W3IDSecurityV1PublicKey) GetW3IDSecurityV1PublicKeyPem() vocab.W3IDSecurityV1PublicKeyPemProperty {
return this.W3IDSecurityV1PublicKeyPem
}
// IsExtending returns true if the PublicKey type extends from the other type.
func (this W3IDSecurityV1PublicKey) IsExtending(other vocab.Type) bool {
return W3IDSecurityV1PublicKeyExtends(other)
}
// JSONLDContext returns the JSONLD URIs required in the context string for this
// type and the specific properties that are set. The value in the map is the
// alias used to import the type and its properties.
func (this W3IDSecurityV1PublicKey) JSONLDContext() map[string]string {
m := map[string]string{"https://w3id.org/security/v1": this.alias}
m = this.helperJSONLDContext(this.JSONLDId, m)
m = this.helperJSONLDContext(this.W3IDSecurityV1Owner, m)
m = this.helperJSONLDContext(this.W3IDSecurityV1PublicKeyPem, m)
return m
}
// LessThan computes if this PublicKey is lesser, with an arbitrary but stable
// determination.
func (this W3IDSecurityV1PublicKey) LessThan(o vocab.W3IDSecurityV1PublicKey) bool {
// Begin: Compare known properties
// Compare property "id"
if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil {
if lhs.LessThan(rhs) {
return true
} else if rhs.LessThan(lhs) {
return false
}
} else if lhs == nil && rhs != nil {
// Nil is less than anything else
return true
} else if rhs != nil && rhs == nil {
// Anything else is greater than nil
return false
} // Else: Both are nil
// Compare property "owner"
if lhs, rhs := this.W3IDSecurityV1Owner, o.GetW3IDSecurityV1Owner(); lhs != nil && rhs != nil {
if lhs.LessThan(rhs) {
return true
} else if rhs.LessThan(lhs) {
return false
}
} else if lhs == nil && rhs != nil {
// Nil is less than anything else
return true
} else if rhs != nil && rhs == nil {
// Anything else is greater than nil
return false
} // Else: Both are nil
// Compare property "publicKeyPem"
if lhs, rhs := this.W3IDSecurityV1PublicKeyPem, o.GetW3IDSecurityV1PublicKeyPem(); lhs != nil && rhs != nil {
if lhs.LessThan(rhs) {
return true
} else if rhs.LessThan(lhs) {
return false
}
} else if lhs == nil && rhs != nil {
// Nil is less than anything else
return true
} else if rhs != nil && rhs == nil {
// Anything else is greater than nil
return false
} // Else: Both are nil
// End: Compare known properties
// Begin: Compare unknown properties (only by number of them)
if len(this.unknown) < len(o.GetUnknownProperties()) {
return true
} else if len(o.GetUnknownProperties()) < len(this.unknown) {
return false
} // End: Compare unknown properties (only by number of them)
// All properties are the same.
return false
}
// Serialize converts this into an interface representation suitable for
// marshalling into a text or binary format.
func (this W3IDSecurityV1PublicKey) Serialize() (map[string]interface{}, error) {
m := make(map[string]interface{})
// Begin: Serialize known properties
// Maybe serialize property "id"
if this.JSONLDId != nil {
if i, err := this.JSONLDId.Serialize(); err != nil {
return nil, err
} else if i != nil {
m[this.JSONLDId.Name()] = i
}
}
// Maybe serialize property "owner"
if this.W3IDSecurityV1Owner != nil {
if i, err := this.W3IDSecurityV1Owner.Serialize(); err != nil {
return nil, err
} else if i != nil {
m[this.W3IDSecurityV1Owner.Name()] = i
}
}
// Maybe serialize property "publicKeyPem"
if this.W3IDSecurityV1PublicKeyPem != nil {
if i, err := this.W3IDSecurityV1PublicKeyPem.Serialize(); err != nil {
return nil, err
} else if i != nil {
m[this.W3IDSecurityV1PublicKeyPem.Name()] = i
}
}
// End: Serialize known properties
// Begin: Serialize unknown properties
for k, v := range this.unknown {
// To be safe, ensure we aren't overwriting a known property
if _, has := m[k]; !has {
m[k] = v
}
}
// End: Serialize unknown properties
return m, nil
}
// SetJSONLDId sets the "id" property.
func (this *W3IDSecurityV1PublicKey) SetJSONLDId(i vocab.JSONLDIdProperty) {
this.JSONLDId = i
}
// SetW3IDSecurityV1Owner sets the "owner" property.
func (this *W3IDSecurityV1PublicKey) SetW3IDSecurityV1Owner(i vocab.W3IDSecurityV1OwnerProperty) {
this.W3IDSecurityV1Owner = i
}
// SetW3IDSecurityV1PublicKeyPem sets the "publicKeyPem" property.
func (this *W3IDSecurityV1PublicKey) SetW3IDSecurityV1PublicKeyPem(i vocab.W3IDSecurityV1PublicKeyPemProperty) {
this.W3IDSecurityV1PublicKeyPem = i
}
// VocabularyURI returns the vocabulary's URI as a string.
func (this W3IDSecurityV1PublicKey) VocabularyURI() string {
return "https://w3id.org/security/v1"
}
// helperJSONLDContext obtains the context uris and their aliases from a property,
// if it is not nil.
func (this W3IDSecurityV1PublicKey) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string {
if i == nil {
return toMerge
}
for k, v := range i.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.
*/
toMerge[k] = v
}
return toMerge
}