TypeAndPropertyKeyStore.java 文件源码

java
阅读 21 收藏 0 点赞 0 评论 0

项目:graphflow 作者:
@VisibleForTesting
Pair<Short, DataType> mapStringPropertyKeyValueToShortAndDataType(String stringKey,
    String stringDataType, boolean insertIfKeyDoesntExist, boolean assertKeyExist) {
    if (isNullOrEmpty(stringKey)) {
        throw new IllegalArgumentException("Property keys can't be null or the empty string.");
    }
    Short key = propertyKeyStore.mapStringKeyToShort(stringKey);
    DataType dataType = DataType.mapStringToDataType(stringDataType);
    if (null != key) {
        DataType dataTypeStored = propertyDataTypeStore.get(key);
        if (dataTypeStored != dataType) {
            throw new IncorrectDataTypeException("Incorrect DataType usage - property key " +
                stringKey + " has been declared as " + dataTypeStored + " previously but " +
                "now it used as " + stringDataType.toUpperCase() + ".");
        }
    } else if (insertIfKeyDoesntExist) {
        key = propertyKeyStore.getKeyAsShortOrInsert(stringKey);
        propertyDataTypeStore.put(key, dataType);
    } else if (assertKeyExist) {
        throw new NoSuchPropertyKeyException(stringKey);
    }
    return new Pair<>(key, dataType);
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号