github.com/altipla-consulting/ravendb-go-client@v0.1.3/more_like_this_builder.go (about) 1 package ravendb 2 3 var _ IMoreLikeThisOperations = &MoreLikeThisBuilder{} 4 var _ IMoreLikeThisBuilderForDocumentQuery = &MoreLikeThisBuilder{} 5 var _ IMoreLikeThisBuilderBase = &MoreLikeThisBuilder{} 6 7 type MoreLikeThisBuilder struct { 8 moreLikeThis MoreLikeThisBase 9 } 10 11 func NewMoreLikeThisBuilder() *MoreLikeThisBuilder { 12 return &MoreLikeThisBuilder{} 13 } 14 15 func (b *MoreLikeThisBuilder) GetMoreLikeThis() MoreLikeThisBase { 16 return b.moreLikeThis 17 } 18 19 func (b *MoreLikeThisBuilder) UsingAnyDocument() IMoreLikeThisOperations { 20 b.moreLikeThis = NewMoreLikeThisUsingAnyDocument() 21 return b 22 } 23 24 func (b *MoreLikeThisBuilder) UsingDocument(documentJSON string) IMoreLikeThisOperations { 25 b.moreLikeThis = &MoreLikeThisUsingDocument{ 26 documentJSON: documentJSON, 27 } 28 29 return b 30 } 31 32 func (b *MoreLikeThisBuilder) UsingDocumentWithBuilder(builder func(*DocumentQuery)) IMoreLikeThisOperations { 33 tmp := NewMoreLikeThisUsingDocumentForDocumentQuery() 34 tmp.setForDocumentQuery(builder) 35 b.moreLikeThis = tmp 36 return b 37 } 38 39 func (b *MoreLikeThisBuilder) WithOptions(options *MoreLikeThisOptions) IMoreLikeThisOperations { 40 b.moreLikeThis.SetOptions(options) 41 42 return b 43 }