io.rocketbase.commons.dto.asset.QueryAsset Maven / Gradle / Ivy
The newest version!
package io.rocketbase.commons.dto.asset;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.annotation.Nullable;
import java.io.Serializable;
import java.time.Instant;
import java.util.Collection;
import java.util.Map;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class QueryAsset implements Serializable {
@Nullable
private Instant before;
@Nullable
private Instant after;
@Nullable
private String originalFilename;
/**
* search exact match
*/
@Nullable
private String systemRefId;
/**
* in mongo-implementation it's a regex "like" search
* in mysql it's an exact hash compare (limitations within mysql of column/index length)
*/
@Nullable
private String referenceUrl;
/**
* search exact match
*/
@Nullable
private String context;
@Nullable
private Collection types;
/**
* true: queries all assets that has an eol value
* false: all without
* null means ignore
*/
@Nullable
private Boolean hasEolValue;
/**
* true: queries all assets that has an eol value that is expired
* false: all without or newer then now
* null means ignore
*/
@Nullable
private Boolean isEol;
/**
* search for given key and value with exact match ignore cases
*/
@Nullable
private Map keyValues;
}