
io.sphere.sdk.search.model.SearchModelImpl Maven / Gradle / Ivy
The newest version!
package io.sphere.sdk.search.model;
import io.sphere.sdk.models.Base;
import io.sphere.sdk.search.FilterExpression;
import javax.annotation.Nullable;
import java.util.List;
public class SearchModelImpl extends Base implements SearchModel {
@Nullable
private final SearchModel parent;
@Nullable
private final String pathSegment;
public SearchModelImpl(@Nullable final SearchModel parent, @Nullable final String pathSegment) {
this.parent = parent;
this.pathSegment = pathSegment;
}
protected SearchModelImpl(@Nullable final String pathSegment) {
this(null, pathSegment);
}
//for testing
SearchModelImpl appended(final String pathSegment) {
return new SearchModelImpl<>(this, pathSegment) ;
}
@Nullable
@Override
public String getPathSegment() {
return pathSegment;
}
@Nullable
@Override
public SearchModel getParent() {
return parent;
}
protected SearchModel searchModel(final String pathSegment) {
return new SearchModelImpl<>(this, pathSegment);
}
protected BooleanSearchModel booleanSearchModel(final String pathSegment) {
return new BooleanSearchModel<>(this, pathSegment);
}
protected StringSearchModel stringSearchModel(final String pathSegment) {
return new StringSearchModel<>(this, pathSegment);
}
protected NumberSearchModel numberSearchModel(final String pathSegment) {
return new NumberSearchModel<>(this, pathSegment);
}
protected DateSearchModel dateSearchModel(final String pathSegment) {
return new DateSearchModel<>(this, pathSegment);
}
protected TimeSearchModel timeSearchModel(final String pathSegment) {
return new TimeSearchModel<>(this, pathSegment);
}
protected DateTimeSearchModel datetimeSearchModel(final String pathSegment) {
return new DateTimeSearchModel<>(this, pathSegment);
}
protected LocalizedStringFilterSearchModel localizedStringFilterSearchModel(final String pathSegment) {
return new LocalizedStringFilterSearchModel<>(this, pathSegment);
}
protected LocalizedStringFacetSearchModel localizedStringFacetSearchModel(final String pathSegment) {
return new LocalizedStringFacetSearchModel<>(this, pathSegment);
}
protected LocalizedStringFacetedSearchSearchModel localizedStringFacetedSearchSearchModel(final String pathSegment) {
return new LocalizedStringFacetedSearchSearchModel<>(this, pathSegment);
}
protected EnumFilterSearchModel enumFilterSearchModel(final String pathSegment) {
return new EnumFilterSearchModel<>(this, pathSegment);
}
protected EnumFacetSearchModel enumFacetSearchModel(final String pathSegment) {
return new EnumFacetSearchModel<>(this, pathSegment);
}
protected EnumFacetedSearchSearchModel enumFacetedSearchSearchModel(final String pathSegment) {
return new EnumFacetedSearchSearchModel<>(this, pathSegment);
}
protected LocalizedEnumFilterSearchModel localizedEnumFilterSearchModel(final String pathSegment) {
return new LocalizedEnumFilterSearchModel<>(this, pathSegment);
}
protected LocalizedEnumFacetSearchModel localizedEnumFacetSearchModel(final String pathSegment) {
return new LocalizedEnumFacetSearchModel<>(this, pathSegment);
}
protected LocalizedEnumFacetedSearchSearchModel localizedEnumFacetedSearchSearchModel(final String pathSegment) {
return new LocalizedEnumFacetedSearchSearchModel<>(this, pathSegment);
}
protected MoneyFilterSearchModel moneyFilterSearchModel(final String pathSegment) {
return new MoneyFilterSearchModel<>(this, pathSegment);
}
protected MoneyFacetSearchModel moneyFacetSearchModel(final String pathSegment) {
return new MoneyFacetSearchModel<>(this, pathSegment);
}
protected MoneyFacetedSearchSearchModel moneyFacetedSearchSearchModel(final String pathSegment) {
return new MoneyFacetedSearchSearchModel<>(this, pathSegment);
}
protected ReferenceFilterSearchModel referenceFilterSearchModel(final String pathSegment) {
return new ReferenceFilterSearchModelImpl<>(this, pathSegment);
}
protected ReferenceFacetSearchModel referenceFacetSearchModel(final String pathSegment) {
return new ReferenceFacetSearchModelImpl<>(this, pathSegment);
}
protected ReferenceFacetedSearchSearchModel referenceFacetedSearchSearchModel(final String pathSegment) {
return new ReferenceFacetedSearchSearchModel<>(this, pathSegment);
}
protected ExistsAndMissingFilterSearchModelSupport existsAndMissingFilterSearchModelSupport(final String fieldName) {
return new ExistsAndMissingFilterSearchModelSupportImpl(this, fieldName);
}
protected List> existsFilters() {
return ExistsAndMissingFilterSearchModelSupportUtils.exists(this);
}
protected List> missingFilters() {
return ExistsAndMissingFilterSearchModelSupportUtils.missing(this);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy