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


Java AssignementTestable类代码示例

本文整理汇总了Java中org.apache.cassandra.cql3.AssignementTestable的典型用法代码示例。如果您正苦于以下问题:Java AssignementTestable类的具体用法?Java AssignementTestable怎么用?Java AssignementTestable使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


AssignementTestable类属于org.apache.cassandra.cql3包,在下文中一共展示了AssignementTestable类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: validateTypes

import org.apache.cassandra.cql3.AssignementTestable; //导入依赖的package包/类
private static void validateTypes(String keyspace, Function fun, List<? extends AssignementTestable> providedArgs, ColumnSpecification receiver) throws InvalidRequestException
{
    if (!receiver.type.isValueCompatibleWith(fun.returnType()))
        throw new InvalidRequestException(String.format("Type error: cannot assign result of function %s (type %s) to %s (type %s)", fun.name(), fun.returnType().asCQL3Type(), receiver, receiver.type.asCQL3Type()));

    if (providedArgs.size() != fun.argsType().size())
        throw new InvalidRequestException(String.format("Invalid number of arguments in call to function %s: %d required but %d provided", fun.name(), fun.argsType().size(), providedArgs.size()));

    for (int i = 0; i < providedArgs.size(); i++)
    {
        AssignementTestable provided = providedArgs.get(i);

        // If the concrete argument is a bind variables, it can have any type.
        // We'll validate the actually provided value at execution time.
        if (provided == null)
            continue;

        ColumnSpecification expected = makeArgSpec(receiver, fun, i);
        if (!provided.isAssignableTo(keyspace, expected))
            throw new InvalidRequestException(String.format("Type error: %s cannot be passed as argument %d of function %s of type %s", provided, i, fun.name(), expected.type.asCQL3Type()));
    }
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:23,代码来源:Functions.java

示例2: isValidType

import org.apache.cassandra.cql3.AssignementTestable; //导入依赖的package包/类
private static boolean isValidType(String keyspace, Function fun, List<? extends AssignementTestable> providedArgs, ColumnSpecification receiver) throws InvalidRequestException
{
    if (!receiver.type.isValueCompatibleWith(fun.returnType()))
        return false;

    if (providedArgs.size() != fun.argsType().size())
        return false;

    for (int i = 0; i < providedArgs.size(); i++)
    {
        AssignementTestable provided = providedArgs.get(i);

        // If the concrete argument is a bind variables, it can have any type.
        // We'll validate the actually provided value at execution time.
        if (provided == null)
            continue;

        ColumnSpecification expected = makeArgSpec(receiver, fun, i);
        if (!provided.isAssignableTo(keyspace, expected))
            return false;
    }
    return true;
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:24,代码来源:Functions.java

示例3: validateTypes

import org.apache.cassandra.cql3.AssignementTestable; //导入依赖的package包/类
private static void validateTypes(Function fun, List<? extends AssignementTestable> providedArgs, ColumnSpecification receiver) throws InvalidRequestException
{
    if (!receiver.type.asCQL3Type().equals(fun.returnType().asCQL3Type()))
        throw new InvalidRequestException(String.format("Type error: cannot assign result of function %s (type %s) to %s (type %s)", fun.name(), fun.returnType().asCQL3Type(), receiver, receiver.type.asCQL3Type()));

    if (providedArgs.size() != fun.argsType().size())
        throw new InvalidRequestException(String.format("Invalid number of arguments in call to function %s: %d required but %d provided", fun.name(), fun.argsType().size(), providedArgs.size()));

    for (int i = 0; i < providedArgs.size(); i++)
    {
        AssignementTestable provided = providedArgs.get(i);

        // If the concrete argument is a bind variables, it can have any type.
        // We'll validate the actually provided value at execution time.
        if (provided == null)
            continue;

        ColumnSpecification expected = makeArgSpec(receiver, fun, i);
        if (!provided.isAssignableTo(expected))
            throw new InvalidRequestException(String.format("Type error: %s cannot be passed as argument %d of function %s of type %s", provided, i, fun.name(), expected.type.asCQL3Type()));
    }
}
 
开发者ID:pgaref,项目名称:ACaZoo,代码行数:23,代码来源:Functions.java

示例4: isValidType

import org.apache.cassandra.cql3.AssignementTestable; //导入依赖的package包/类
private static boolean isValidType(Function fun, List<? extends AssignementTestable> providedArgs, ColumnSpecification receiver)
{
    if (!receiver.type.asCQL3Type().equals(fun.returnType().asCQL3Type()))
        return false;

    if (providedArgs.size() != fun.argsType().size())
        return false;

    for (int i = 0; i < providedArgs.size(); i++)
    {
        AssignementTestable provided = providedArgs.get(i);

        // If the concrete argument is a bind variables, it can have any type.
        // We'll validate the actually provided value at execution time.
        if (provided == null)
            continue;

        ColumnSpecification expected = makeArgSpec(receiver, fun, i);
        if (!provided.isAssignableTo(expected))
            return false;
    }
    return true;
}
 
开发者ID:pgaref,项目名称:ACaZoo,代码行数:24,代码来源:Functions.java

示例5: validateTypes

import org.apache.cassandra.cql3.AssignementTestable; //导入依赖的package包/类
private static void validateTypes(String keyspace, Function fun, List<? extends AssignementTestable> providedArgs, ColumnSpecification receiver) throws InvalidRequestException
{
    if (!receiver.type.asCQL3Type().equals(fun.returnType().asCQL3Type()))
        throw new InvalidRequestException(String.format("Type error: cannot assign result of function %s (type %s) to %s (type %s)", fun.name(), fun.returnType().asCQL3Type(), receiver, receiver.type.asCQL3Type()));

    if (providedArgs.size() != fun.argsType().size())
        throw new InvalidRequestException(String.format("Invalid number of arguments in call to function %s: %d required but %d provided", fun.name(), fun.argsType().size(), providedArgs.size()));

    for (int i = 0; i < providedArgs.size(); i++)
    {
        AssignementTestable provided = providedArgs.get(i);

        // If the concrete argument is a bind variables, it can have any type.
        // We'll validate the actually provided value at execution time.
        if (provided == null)
            continue;

        ColumnSpecification expected = makeArgSpec(receiver, fun, i);
        if (!provided.isAssignableTo(keyspace, expected))
            throw new InvalidRequestException(String.format("Type error: %s cannot be passed as argument %d of function %s of type %s", provided, i, fun.name(), expected.type.asCQL3Type()));
    }
}
 
开发者ID:mafernandez-stratio,项目名称:cassandra-cqlMod,代码行数:23,代码来源:Functions.java

示例6: isValidType

import org.apache.cassandra.cql3.AssignementTestable; //导入依赖的package包/类
private static boolean isValidType(String keyspace, Function fun, List<? extends AssignementTestable> providedArgs, ColumnSpecification receiver) throws InvalidRequestException
{
    if (!receiver.type.asCQL3Type().equals(fun.returnType().asCQL3Type()))
        return false;

    if (providedArgs.size() != fun.argsType().size())
        return false;

    for (int i = 0; i < providedArgs.size(); i++)
    {
        AssignementTestable provided = providedArgs.get(i);

        // If the concrete argument is a bind variables, it can have any type.
        // We'll validate the actually provided value at execution time.
        if (provided == null)
            continue;

        ColumnSpecification expected = makeArgSpec(receiver, fun, i);
        if (!provided.isAssignableTo(keyspace, expected))
            return false;
    }
    return true;
}
 
开发者ID:mafernandez-stratio,项目名称:cassandra-cqlMod,代码行数:24,代码来源:Functions.java

示例7: get

import org.apache.cassandra.cql3.AssignementTestable; //导入依赖的package包/类
public static Function get(String keyspace, String name, List<? extends AssignementTestable> providedArgs, ColumnSpecification receiver) throws InvalidRequestException
{
    List<Function.Factory> factories = declared.get(name.toLowerCase());
    if (factories.isEmpty())
        throw new InvalidRequestException(String.format("Unknown CQL3 function %s called", name));

    // Fast path if there is not choice
    if (factories.size() == 1)
    {
        Function fun = factories.get(0).create(receiver.ksName, receiver.cfName);
        validateTypes(keyspace, fun, providedArgs, receiver);
        return fun;
    }

    Function candidate = null;
    for (Function.Factory factory : factories)
    {
        Function toTest = factory.create(receiver.ksName, receiver.cfName);
        if (!isValidType(keyspace, toTest, providedArgs, receiver))
            continue;

        if (candidate == null)
            candidate = toTest;
        else
            throw new InvalidRequestException(String.format("Ambiguous call to function %s (can match both type signature %s and %s): use type casts to disambiguate", name, signature(candidate), signature(toTest)));
    }
    if (candidate == null)
        throw new InvalidRequestException(String.format("Invalid call to function %s, none of its type signature matches (known type signatures: %s)", name, signatures(factories, receiver)));
    return candidate;
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:31,代码来源:Functions.java

示例8: get

import org.apache.cassandra.cql3.AssignementTestable; //导入依赖的package包/类
public static Function get(String name, List<? extends AssignementTestable> providedArgs, ColumnSpecification receiver) throws InvalidRequestException
{
    List<Function.Factory> factories = declared.get(name.toLowerCase());
    if (factories.isEmpty())
        throw new InvalidRequestException(String.format("Unknown CQL3 function %s called", name));

    // Fast path if there is not choice
    if (factories.size() == 1)
    {
        Function fun = factories.get(0).create(receiver.ksName, receiver.cfName);
        validateTypes(fun, providedArgs, receiver);
        return fun;
    }

    Function candidate = null;
    for (Function.Factory factory : factories)
    {
        Function toTest = factory.create(receiver.ksName, receiver.cfName);
        if (!isValidType(toTest, providedArgs, receiver))
            continue;

        if (candidate == null)
            candidate = toTest;
        else
            throw new InvalidRequestException(String.format("Ambiguous call to function %s (can match both type signature %s and %s): use type casts to disambiguate", name, signature(candidate), signature(toTest)));
    }
    if (candidate == null)
        throw new InvalidRequestException(String.format("Invalid call to function %s, none of its type signature matches (known type signatures: %s)", name, signatures(factories, receiver)));
    return candidate;
}
 
开发者ID:pgaref,项目名称:ACaZoo,代码行数:31,代码来源:Functions.java


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