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  }