func (this ActivityStreamsSummaryPropertyIterator) IsRDFLangString() bool {
	return this.rdfLangStringMember != nil
}
IsRDFLangString returns true if this property has a type of "langString". When
true, use the GetRDFLangString and SetRDFLangString methods to access and
set this property.. To determine if the property was set as a natural
language map, use the IsRDFLangString method instead.
package propertysummary
import (
	"fmt"
	langstring "github.com/go-fed/activity/streams/values/langString"
	string1 "github.com/go-fed/activity/streams/values/string"
	vocab "github.com/go-fed/activity/streams/vocab"
	"net/url"
)
type ActivityStreamsSummaryPropertyIterator struct {
	xmlschemaStringMember string
	hasStringMember       bool
	rdfLangStringMember   map[string]string
	unknown               interface{}
	iri                   *url.URL
	alias                 string
	myIdx                 int
	parent                vocab.ActivityStreamsSummaryProperty
}
func NewActivityStreamsSummaryPropertyIterator() *ActivityStreamsSummaryPropertyIterator {
	return &ActivityStreamsSummaryPropertyIterator{alias: ""}
}
func deserializeActivityStreamsSummaryPropertyIterator(i interface{}, aliasMap map[string]string) (*ActivityStreamsSummaryPropertyIterator, error) {
	alias := ""
	if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok {
		alias = a
	}
	if s, ok := i.(string); ok {
		u, err := url.Parse(s)
		if err == nil && len(u.Scheme) > 0 {
			this := &ActivityStreamsSummaryPropertyIterator{
				alias: alias,
				iri:   u,
			}
			return this, nil
		}
	}
	if v, err := string1.DeserializeString(i); err == nil {
		this := &ActivityStreamsSummaryPropertyIterator{
			alias:                 alias,
			hasStringMember:       true,
			xmlschemaStringMember: v,
		}
		return this, nil
	} else if v, err := langstring.DeserializeLangString(i); err == nil {
		this := &ActivityStreamsSummaryPropertyIterator{
			alias:               alias,
			rdfLangStringMember: v,
		}
		return this, nil
	}
	this := &ActivityStreamsSummaryPropertyIterator{
		alias:   alias,
		unknown: i,
	}
	return this, nil
}
func (this ActivityStreamsSummaryPropertyIterator) GetIRI() *url.URL {
	return this.iri
}
func (this ActivityStreamsSummaryPropertyIterator) GetLanguage(bcp47 string) string {
	if this.rdfLangStringMember == nil {
		return ""
	} else if v, ok := this.rdfLangStringMember[bcp47]; ok {
		return v
	} else {
		return ""
	}
}
func (this ActivityStreamsSummaryPropertyIterator) GetRDFLangString() map[string]string {
	return this.rdfLangStringMember
}
func (this ActivityStreamsSummaryPropertyIterator) GetXMLSchemaString() string {
	return this.xmlschemaStringMember
}
func (this ActivityStreamsSummaryPropertyIterator) HasAny() bool {
	return this.IsXMLSchemaString() ||
		this.IsRDFLangString() ||
		this.iri != nil
}
func (this ActivityStreamsSummaryPropertyIterator) HasLanguage(bcp47 string) bool {
	if this.rdfLangStringMember == nil {
		return false
	} else {
		_, ok := this.rdfLangStringMember[bcp47]
		return ok
	}
}
func (this ActivityStreamsSummaryPropertyIterator) IsIRI() bool {
	return this.iri != nil
}