Example usage for com.google.common.primitives Chars toByteArray

List of usage examples for com.google.common.primitives Chars toByteArray

Introduction

In this page you can find the example usage for com.google.common.primitives Chars toByteArray.

Prototype

@GwtIncompatible("doesn't work")
public static byte[] toByteArray(char value) 

Source Link

Document

Returns a big-endian representation of value in a 2-element byte array; equivalent to ByteBuffer.allocate(2).putChar(value).array() .

Usage

From source file:org.apache.druid.sql.calcite.expression.DruidExpression.java

private static String escape(final String s) {
    final StringBuilder escaped = new StringBuilder();
    for (int i = 0; i < s.length(); i++) {
        final char c = s.charAt(i);
        if (Character.isLetterOrDigit(c) || Arrays.binarySearch(SAFE_CHARS, c) >= 0) {
            escaped.append(c);/*from  w w  w .j a  va2 s  .c  om*/
        } else {
            escaped.append("\\u").append(BaseEncoding.base16().encode(Chars.toByteArray(c)));
        }
    }
    return escaped.toString();
}

From source file:io.druid.sql.calcite.planner.Calcites.java

public static String escapeStringLiteral(final String s) {
    if (s == null) {
        return "''";
    } else {//  w  ww . j a v a 2 s. co  m
        boolean isPlainAscii = true;
        final StringBuilder builder = new StringBuilder("'");
        for (int i = 0; i < s.length(); i++) {
            final char c = s.charAt(i);
            if (Character.isLetterOrDigit(c) || c == ' ') {
                builder.append(c);
                if (c > 127) {
                    isPlainAscii = false;
                }
            } else {
                builder.append("\\").append(BaseEncoding.base16().encode(Chars.toByteArray(c)));
                isPlainAscii = false;
            }
        }
        builder.append("'");
        return isPlainAscii ? builder.toString() : "U&" + builder.toString();
    }
}

From source file:org.apache.druid.sql.calcite.planner.Calcites.java

public static String escapeStringLiteral(final String s) {
    Preconditions.checkNotNull(s);/*from   w w  w .  j  av  a 2 s .  c  o  m*/
    boolean isPlainAscii = true;
    final StringBuilder builder = new StringBuilder("'");
    for (int i = 0; i < s.length(); i++) {
        final char c = s.charAt(i);
        if (Character.isLetterOrDigit(c) || c == ' ') {
            builder.append(c);
            if (c > 127) {
                isPlainAscii = false;
            }
        } else {
            builder.append("\\").append(BaseEncoding.base16().encode(Chars.toByteArray(c)));
            isPlainAscii = false;
        }
    }
    builder.append("'");
    return isPlainAscii ? builder.toString() : "U&" + builder.toString();

}

From source file:org.apache.druid.query.filter.LikeDimFilter.java

@Override
public byte[] getCacheKey() {
    final byte[] dimensionBytes = StringUtils.toUtf8(dimension);
    final byte[] patternBytes = StringUtils.toUtf8(pattern);
    final byte[] escapeBytes = escapeChar == null ? new byte[0] : Chars.toByteArray(escapeChar);
    final byte[] extractionFnBytes = extractionFn == null ? new byte[0] : extractionFn.getCacheKey();
    final int sz = 4 + dimensionBytes.length + patternBytes.length + escapeBytes.length
            + extractionFnBytes.length;//  w  w w .j a  v a  2  s.  c o m
    return ByteBuffer.allocate(sz).put(DimFilterUtils.LIKE_CACHE_ID).put(dimensionBytes)
            .put(DimFilterUtils.STRING_SEPARATOR).put(patternBytes).put(DimFilterUtils.STRING_SEPARATOR)
            .put(escapeBytes).put(DimFilterUtils.STRING_SEPARATOR).put(extractionFnBytes).array();
}