Java tutorial
/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.search.query; import org.apache.commons.lang.StringUtils; public class QueryFieldAndValue extends AbstractQueryFieldAndValue { private final QueryValue queryValue; public QueryFieldAndValue(final String path, final Object value) { super(path); this.queryValue = new QueryValue(value); } public QueryFieldAndValue(final QueryField queryField, final QueryValue queryValue) { super(queryField); this.queryValue = queryValue; } public Object getValue() { if (isQueryValueNumeric()) { return queryValue.getNumericValue(); } if (isQueryOnDateValue()) { return queryValue.getDateTime(); } return queryValue.getStringValueNormalized(); } public String getValueForIdQuery() { if (queryValue.isNumeric()) { return StringUtils.substringBefore(queryValue.getStringValueNormalized(), "."); } return queryValue.getStringValueNormalized(); } @Override protected boolean isQueryValueNumeric() { return queryValue.isNumeric(); } public boolean doBuildAsEmptyDateFieldQuery() { return queryPathIsDateAndValueEmpty(); } @Override protected boolean queryPathIsDateAndValueEmpty() { return isDateField() && queryValue.isEmpty(); } @Override protected boolean isQueryOnDateValue() { return queryValue.isDateTime(); } }