当前位置: 首页>>代码示例>>Java>>正文


Java NullLiteral类代码示例

本文整理汇总了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());
    }
}
 
开发者ID:personium,项目名称:personium-core,代码行数:30,代码来源:FilterConditionValidator.java

示例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);
    }
}
 
开发者ID:personium,项目名称:personium-core,代码行数:19,代码来源:FilterConditionValidator.java

示例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();
    }
}
 
开发者ID:personium,项目名称:personium-core,代码行数:34,代码来源:EsQueryHandler.java

示例4: visit

import org.odata4j.expression.NullLiteral; //导入依赖的package包/类
@Override
public void visit(NullLiteral expr) {
    // TODO: Customise this generated block
}
 
开发者ID:tsykora,项目名称:infinispan-odata-server,代码行数:5,代码来源:MapQueryExpressionVisitor.java


注:本文中的org.odata4j.expression.NullLiteral类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。