本文整理汇总了Java中org.odata4j.expression.NullLiteral类的典型用法代码示例。如果您正苦于以下问题:Java NullLiteral类的具体用法?Java NullLiteral怎么用?Java NullLiteral使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
NullLiteral类属于org.odata4j.expression包,在下文中一共展示了NullLiteral类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: validateFilterOpCondition
import org.odata4j.expression.NullLiteral; //导入依赖的package包/类
/**
* $filterクエリの検索条件に指定するプロパティのデータ型と検索条件の値として指定されたデータ型の整合性を検証する.
* <ul>
* <li>StringLiteral</li>
* <li>IntegralLiteral、Int64Literal</li>
* <li>DoubleLiteral</li>
* </ul>
* なお、"1.0f" や "1.0m" などの表記(それぞれSingleLiteral、DecimalLiteral)はパースエラーとする。
* @param edmProperty $filterの検索条件に指定されたプロパティ
* @param searchValue $filterの検索条件の値
*/
static void validateFilterOpCondition(EdmProperty edmProperty, CommonExpression searchValue) {
// 比較演算子(lt/le/ge/gt)共通で許容するデータ: 文字列/整数値/実数値
// 真偽値やNULLは大小比較ができないため、許容しない。
if (searchValue instanceof BooleanLiteral
|| searchValue instanceof NullLiteral) {
throw PersoniumCoreException.OData.FILTER_PARSE_ERROR;
}
// スキーマ定義されているプロパティのデータ型として検索条件の値が評価できることを検証する。
// ただし、スキーマ定義されていない場合は、検証できないので除外する。
if (edmProperty != null) {
AbstractValidator validator = validatorMap.get(edmProperty.getType());
if (null == validator) {
throw PersoniumCoreException.OData.FILTER_PARSE_ERROR;
}
validator.validate(searchValue, edmProperty.getName());
}
}
示例2: validate
import org.odata4j.expression.NullLiteral; //导入依赖的package包/类
@Override
public void validate(CommonExpression searchValue, String propertyName) {
long value = 0L; // odata4jのInt64Literal#gerValueがlong型の値を返すためvalueはlong型とした。
if (searchValue instanceof IntegralLiteral) {
value = ((IntegralLiteral) searchValue).getValue();
} else if (searchValue instanceof Int64Literal) {
value = ((Int64Literal) searchValue).getValue();
} else if (searchValue instanceof NullLiteral) {
value = 0;
} else {
throw PersoniumCoreException.OData.OPERATOR_AND_OPERAND_TYPE_MISMATCHED.params(propertyName);
}
// 値の範囲チェック
if (value > Integer.MAX_VALUE || value < Integer.MIN_VALUE) {
throw PersoniumCoreException.OData.UNSUPPORTED_OPERAND_FORMAT.params(propertyName);
}
}
示例3: visit
import org.odata4j.expression.NullLiteral; //导入依赖的package包/类
/**
* 完全一致検索時のvisit.
* @param expr EqExpression
*/
@Override
public void visit(EqExpression expr) {
log.debug("visit(EqExpression expr)");
// $filterに指定された検索条件のプロパティが単純型ではない場合は、パースエラーとする。
if (!(expr.getLHS() instanceof EntitySimpleProperty)) {
throw PersoniumCoreException.OData.FILTER_PARSE_ERROR;
}
EdmProperty edmProperty = getEdmProprety((EntitySimpleProperty) expr.getLHS());
// $filterに指定されたプロパティの型と検索条件の値として指定されたデータ型の検証
CommonExpression searchValue = expr.getRHS();
FilterConditionValidator.validateFilterEqCondition(edmProperty, searchValue);
// 検索クエリを設定する
// 検索対象がnullの場合、{"missing":{"field":"xxx"}}を作成する
if (expr.getRHS() instanceof NullLiteral) {
Map<String, Object> missing = new HashMap<String, Object>();
missing.put("field", getSearchKey(expr.getLHS(), true));
this.current.put("missing", missing);
this.current = stack.pop();
} else {
// 検索対象がnull以外の場合、termクエリを作成する
Map<String, Object> term = new HashMap<String, Object>();
term.put(getSearchKey(expr.getLHS(), true), getSearchValue(expr.getRHS()));
this.current.put("term", term);
this.current = stack.pop();
}
}
示例4: visit
import org.odata4j.expression.NullLiteral; //导入依赖的package包/类
@Override
public void visit(NullLiteral expr) {
// TODO: Customise this generated block
}