當前位置: 首頁>>代碼示例>>Java>>正文


Java DataType.equals方法代碼示例

本文整理匯總了Java中com.datastax.driver.core.DataType.equals方法的典型用法代碼示例。如果您正苦於以下問題:Java DataType.equals方法的具體用法?Java DataType.equals怎麽用?Java DataType.equals使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.datastax.driver.core.DataType的用法示例。


在下文中一共展示了DataType.equals方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: toStatementValue

import com.datastax.driver.core.DataType; //導入方法依賴的package包/類
/**
 * @param tablename  the table name
 * @param name       the columnname
 * @param value      the value 
 * @return the mapped value
 */
Object toStatementValue(Tablename tablename, String name, Object value) {
    if (isNullOrEmpty(value)) {
        return null;
    } 
    
    final DataType dataType = catalog.getColumnMetadata(tablename, name).getType();
    
    // build in
    if (UDTValueMapper.isBuildInType(dataType)) {
        
        // enum
        if (DataTypes.isTextDataType(dataType) && Enum.class.isAssignableFrom(value.getClass())) {
            return value.toString();
        }
        
        // byte buffer (byte[])
        if (dataType.equals(DataType.blob()) && byte[].class.isAssignableFrom(value.getClass())) {
            return ByteBuffer.wrap((byte[]) value);
        }
        
        return value;
     
    // udt    
    } else {
        return toUdtValue(tablename, catalog, catalog.getColumnMetadata(tablename, name).getType(), value);
    }
}
 
開發者ID:1and1,項目名稱:Troilus,代碼行數:34,代碼來源:UDTValueMapper.java

示例2: getValue

import com.datastax.driver.core.DataType; //導入方法依賴的package包/類
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public <T> T getValue(String name, Class<T> elementsClass) {
    final DataType datatype = getColumnDefinitions().getType(name);
    
    if (datatype != null) {
        
        // build-in
        if (UDTValueMapper.isBuildInType(datatype)) {
     
            final ByteBuffer byteBuffer = getBytesUnsafe(name); 
            Object obj;
            if (byteBuffer == null) {
                obj = null;
            } else  {
            	obj = ctx.getUDTValueMapper().deserialize(datatype, byteBuffer);
            }
        
            // enum
            if ((obj != null) && DataTypes.isTextDataType(datatype) && Enum.class.isAssignableFrom(elementsClass)) {
                return (T) Enum.valueOf((Class<Enum>) elementsClass, obj.toString());
            }
            
            // bytebuffer (byte[])
            if (datatype.equals(DataType.blob()) && byte[].class.isAssignableFrom(elementsClass)) {
                if (obj == null) {
                    return (T) new byte[0];
                } else {
                    final ByteBuffer bb = (ByteBuffer) obj;
                    byte[] bytes = new byte[bb.remaining()];
                    bb.get(bytes, 0, bytes.length);
                    return (T) bytes;
                }
            }
            
            return (T) obj;
         
        // udt
        } else {
            return ctx.getUDTValueMapper().fromUdtValue(datatype, getUDTValue(name), elementsClass);
        }
    }
    
    return null;
}
 
開發者ID:1and1,項目名稱:Troilus,代碼行數:46,代碼來源:RecordImpl.java

示例3: isTextDataType

import com.datastax.driver.core.DataType; //導入方法依賴的package包/類
public static boolean isTextDataType(DataType dataType) {
    return dataType.equals(DataType.text()) ||
           dataType.equals(DataType.ascii()) ||
           dataType.equals(DataType.varchar());
}
 
開發者ID:1and1,項目名稱:Troilus,代碼行數:6,代碼來源:DataTypes.java


注:本文中的com.datastax.driver.core.DataType.equals方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。