All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.redis.om.spring.metamodel.indexed.TextField Maven / Gradle / Ivy

package com.redis.om.spring.metamodel.indexed;

import java.lang.reflect.Field;
import java.util.Arrays;
import java.util.function.Consumer;
import java.util.function.ToLongFunction;

import com.redis.om.spring.metamodel.MetamodelField;
import com.redis.om.spring.search.stream.actions.StrLengthAction;
import com.redis.om.spring.search.stream.actions.StringAppendAction;
import com.redis.om.spring.search.stream.predicates.fulltext.EqualPredicate;
import com.redis.om.spring.search.stream.predicates.fulltext.InPredicate;
import com.redis.om.spring.search.stream.predicates.fulltext.LikePredicate;
import com.redis.om.spring.search.stream.predicates.fulltext.NotEqualPredicate;
import com.redis.om.spring.search.stream.predicates.fulltext.NotLikePredicate;
import com.redis.om.spring.search.stream.predicates.fulltext.StartsWithPredicate;

public class TextField extends MetamodelField {

  public TextField(Field field, boolean indexed) {
    super(field, indexed);
  }
  
  public EqualPredicate eq(T value) {
    return new EqualPredicate<>(field,value);
  }
  
  public NotEqualPredicate notEq(T value) {
    return new NotEqualPredicate<>(field,value);
  }
  
  public StartsWithPredicate startsWith(T value) {
    return new StartsWithPredicate<>(field,value);
  }
  
  public LikePredicate like(T value) {
    return new LikePredicate<>(field,value);
  }
  
  public NotLikePredicate notLike(T value) {
    return new NotLikePredicate<>(field,value);
  }
  
  public LikePredicate containing(T value) {
    return new LikePredicate<>(field,value);
  }
  
  public NotLikePredicate notContaining(T value) {
    return new NotLikePredicate<>(field,value);
  }

  @SuppressWarnings("unchecked")
  public InPredicate in(T... values) {
    return new InPredicate<>(field, Arrays.asList(values));
  }
  
  public Consumer append(String value) {
    return new StringAppendAction<>(field, value);
  }
  
  public ToLongFunction length() {
    return new StrLengthAction<>(field);
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy