func (t *OrderedCollectionPageType) PartOf() *url.URL {
	return t.collPage.PartOf.URL()
}
PartOf return the URL of the collection of which this page is a part.
package vocab
import (
	"net/url"
)
type CollectionPageType struct {
	*CollectionType
	collPage *collectionPageType
}
type collectionPageType struct {
	PartOf *URLProperty `json:"partOf,omitempty"`
	Next   *URLProperty `json:"next,omitempty"`
	Prev   *URLProperty `json:"prev,omitempty"`
}
func NewCollectionPage(items []*ObjectProperty, opts ...Opt) *CollectionPageType {
	options := NewOptions(opts...)
	t := &CollectionPageType{
		CollectionType: NewCollection(items, opts...),
		collPage: &collectionPageType{
			PartOf: NewURLProperty(options.PartOf),
			Next:   NewURLProperty(options.Next),
			Prev:   NewURLProperty(options.Prev),
		},
	}
	t.object.Type = NewTypeProperty(TypeCollectionPage)
	return t
}
func (t *CollectionPageType) PartOf() *url.URL {
	return t.collPage.PartOf.URL()
}
func (t *CollectionPageType) Next() *url.URL {
	return t.collPage.Next.URL()
}
func (t *CollectionPageType) Prev() *url.URL {
	return t.collPage.Prev.URL()
}
func (t *CollectionPageType) MarshalJSON() ([]byte, error) {
	return MarshalJSON(t.CollectionType, t.collPage)
}
func (t *CollectionPageType) UnmarshalJSON(bytes []byte) error {
	t.CollectionType = &CollectionType{}
	t.collPage = &collectionPageType{}
	return UnmarshalJSON(bytes, t.CollectionType, t.collPage)
}
type OrderedCollectionPageType struct {
	*OrderedCollectionType
	collPage *collectionPageType
}
func NewOrderedCollectionPage(items []*ObjectProperty, opts ...Opt) *OrderedCollectionPageType {
	options := NewOptions(opts...)
	t := &OrderedCollectionPageType{
		OrderedCollectionType: NewOrderedCollection(items, opts...),
		collPage: &collectionPageType{
			PartOf: NewURLProperty(options.PartOf),
			Next:   NewURLProperty(options.Next),
			Prev:   NewURLProperty(options.Prev),
		},
	}
	t.object.Type = NewTypeProperty(TypeOrderedCollectionPage)
	return t
}