activity/streams/values/anyURI/gen_anyURI.go

34 行
925 B
Go

package anyuri
import (
"fmt"
"net/url"
)
// SerializeAnyURI converts a anyURI value to an interface representation suitable
// for marshalling into a text or binary format.
func SerializeAnyURI(this *url.URL) (interface{}, error) {
return this.String(), nil
}
// DeserializeAnyURI creates anyURI value from an interface representation that
// has been unmarshalled from a text or binary format.
func DeserializeAnyURI(this interface{}) (*url.URL, error) {
var u *url.URL
var err error
if s, ok := this.(string); ok {
u, err = url.Parse(s)
if err != nil {
err = fmt.Errorf("%v cannot be interpreted as a xsd:anyURI: %s", this, err)
}
} else {
err = fmt.Errorf("%v cannot be interpreted as a string for xsd:anyURI", this)
}
return u, err
}
// LessAnyURI returns true if the left anyURI value is less than the right value.
func LessAnyURI(lhs, rhs *url.URL) bool {
return lhs.String() < rhs.String()
}