Example usage for org.apache.commons.lang3 StringEscapeUtils escapeJava

List of usage examples for org.apache.commons.lang3 StringEscapeUtils escapeJava

Introduction

In this page you can find the example usage for org.apache.commons.lang3 StringEscapeUtils escapeJava.

Prototype

public static final String escapeJava(final String input) 

Source Link

Document

Escapes the characters in a String using Java String rules.

Deals correctly with quotes and control-chars (tab, backslash, cr, ff, etc.)

So a tab becomes the characters '\\' and 't' .

The only difference between Java strings and JavaScript strings is that in JavaScript, a single quote and forward-slash (/) are escaped.

Example:

 input string: He didn't say, "Stop!" 

Usage

From source file:org.grouplens.lenskit.util.io.StringDescriptionWriter.java

@Override
public DescriptionWriter putField(String name, String value) {
    builder.append(getIndent()).append(name).append(": ").append(StringEscapeUtils.escapeJava(value))
            .append('\n');
    return this;
}

From source file:org.lockss.pdf.PdfUtil.java

/**
 * <p>//from  w ww  . ja  va  2 s.c o  m
 * Convenience method to output a human-readable version of the
 * given token to the given string builder.
 * </p>
 * @param sb A string builder.
 * @param pdfToken A PDF token.
 * @since 1.57
 */
public static void prettyPrint(StringBuilder sb, PdfToken pdfToken) {
    sb.append("[");
    if (pdfToken.isArray()) {
        sb.append("array:");
        for (PdfToken arrayToken : pdfToken.getArray()) {
            prettyPrint(arrayToken);
        }
    } else if (pdfToken.isBoolean()) {
        sb.append("boolean:");
        sb.append(Boolean.toString(pdfToken.getBoolean()));
    } else if (pdfToken.isDictionary()) {
        boolean first = true;
        sb.append("dictionary:");
        for (Map.Entry<String, PdfToken> entry : pdfToken.getDictionary().entrySet()) {
            if (first) {
                first = false;
            } else {
                sb.append(";");
            }
            sb.append(StringEscapeUtils.escapeJava(entry.getKey()));
            sb.append("=");
            prettyPrint(entry.getValue());
        }
    } else if (pdfToken.isFloat()) {
        sb.append("float:");
        sb.append(Float.toString(pdfToken.getFloat()));
    } else if (pdfToken.isInteger()) {
        sb.append("integer:");
        sb.append(Long.toString(pdfToken.getInteger()));
    } else if (pdfToken.isName()) {
        sb.append("name:");
        sb.append(StringEscapeUtils.escapeJava(pdfToken.getName()));
    } else if (pdfToken.isNull()) {
        sb.append("null");
    } else if (pdfToken.isObject()) {
        sb.append("object:");
        prettyPrint(sb, pdfToken.getObject());
    } else if (pdfToken.isOperator()) {
        sb.append("operator:");
        sb.append(StringEscapeUtils.escapeJava(pdfToken.getOperator()));
    } else if (pdfToken.isString()) {
        sb.append("string:\"");
        sb.append(StringEscapeUtils.escapeJava(pdfToken.getString()));
        sb.append("\"");
    }
    sb.append("]");
}

From source file:org.lockss.servlet.TestDaemonStatus.java

public void testConvertDisplayString() throws Exception {
    // test null// ww w  . ja  v  a 2s  . com
    Object testObj = null;
    assertEquals("", format(testObj, ColumnDescriptor.TYPE_STRING));

    // test standard numbers
    testObj = new Integer(123);
    assertEquals("123", format(testObj, ColumnDescriptor.TYPE_INT));
    testObj = new Float(123321);
    assertEquals(testObj.toString(), format(testObj, ColumnDescriptor.TYPE_FLOAT));

    // check proper 'big int' formatting
    testObj = new Long(12345678);
    assertEquals("12,345,678", format(testObj, ColumnDescriptor.TYPE_INT));

    // test string
    testObj = "test string";
    assertEquals("test string", format(testObj, ColumnDescriptor.TYPE_STRING));

    // Issue 1901: verify that there is no encoding bias
    testObj = "<>&'\"\n";
    String res = format(testObj, ColumnDescriptor.TYPE_STRING);
    assertEquals("Expected \"" + StringEscapeUtils.escapeJava(testObj.toString()) + "\" but got \""
            + StringEscapeUtils.escapeJava(res) + "\"; encoding bias?", "<>&'\"\n", res);

    // test percentage
    testObj = new Double(.453);
    assertEquals("45%", format(testObj, ColumnDescriptor.TYPE_PERCENT));

    // test agreement
    testObj = new Double(.453);
    assertEquals("45.30%", format(testObj, ColumnDescriptor.TYPE_AGREEMENT));
    testObj = new Double(.999999);
    assertEquals("99.99%", format(testObj, ColumnDescriptor.TYPE_AGREEMENT));

    // test date
    Calendar cal = Calendar.getInstance();
    cal.set(Calendar.YEAR, 2004);
    cal.set(Calendar.MONTH, Calendar.JANUARY);
    cal.set(Calendar.DATE, 1);
    cal.set(Calendar.HOUR_OF_DAY, 15);
    cal.set(Calendar.MINUTE, 15);
    testObj = cal.getTime();
    assertEquals(new DisplayConverter().getTableDateFormat().format(testObj),
            format(testObj, ColumnDescriptor.TYPE_DATE));

    // test IPAddr
    testObj = IPAddr.getLocalHost();
    assertEquals(IPAddr.getLocalHost().getHostAddress(), format(testObj, ColumnDescriptor.TYPE_IP_ADDRESS));

    // test time interval
    long timeInt = Constants.HOUR + Constants.MINUTE;
    testObj = new Long(timeInt);
    assertEquals(StringUtil.timeIntervalToString(timeInt),
            format(testObj, ColumnDescriptor.TYPE_TIME_INTERVAL));

    // test unknown
    testObj = "unknown string";
    assertEquals("unknown string", format(testObj, -1));
}

From source file:org.lucidj.gluon.GluonUtil.java

private static void dump_instance(GluonInstance instance, Writer writer, int level) throws IOException {
    String indent = new String(new char[level * 8]).replace('\0', ' ');

    String[] keyset = instance.getPropertyKeys();

    String class_name = instance._getValueObject() == null ? ""
            : " (" + instance._getValueObject().getClass().getName() + ") "
                    + (instance.isPrimitive() ? "PRIMITIVE" : "OBJECT");

    writer.write(indent + "Backing Object: "
            + ((instance._getValueObject() == null) ? "<null>" : instance._getValueObject()) + class_name
            + "\n");
    writer.write(indent + "Representation: "
            + ((instance.getValue() == null) ? "<null>" : StringEscapeUtils.escapeJava(instance.getValue()))
            + "\n");

    // First write all X- properties
    if (keyset == null) {
        //writer.write (indent + "No Properties\n");
    } else {//from   w  w  w  . j  a v a 2s  .c  om
        for (String key : keyset) {
            GluonInstance entry = instance.getPropertyEntry(key);
            writer.write(
                    indent + "Property: " + key + "=" + StringEscapeUtils.escapeJava(entry.getValue()) + "\n");
            dump_instance(entry, writer, level + 1);
        }
    }

    if (instance.getObjectEntries() == null) {
        //writer.write (indent + "No Objects\n");
    } else {
        for (GluonInstance obj : instance.getObjectEntries()) {
            writer.write(indent + "Object:\n");
            dump_instance(obj, writer, level + 1);
        }
    }
}

From source file:org.metaborg.intellij.idea.parsing.SpoofaxHighlightingLexer.java

/**
 * Return a string representation of a token, for debugging and logging.
 *
 * @param tokenRange//from  w w w.j a v  a  2s .  c o m
 *            The token range.
 * @return The string representation.
 */
private String printToken(final IntRange tokenRange) {
    return logger.format("\"{}\" @ {}",
            StringEscapeUtils.escapeJava(buffer.subSequence(tokenRange.start, tokenRange.end).toString()),
            tokenRange);
}

From source file:org.moe.natjgen.EditContext.java

protected Expression newStringLiteral(String name) {
    StringLiteral literal = getAST().newStringLiteral();
    getRewrite().set(literal, StringLiteral.ESCAPED_VALUE_PROPERTY,
            "\"" + StringEscapeUtils.escapeJava(name) + "\"", getEditGroup());
    return literal;
}

From source file:org.neo4j.codegen.source.MethodWriter.java

@Override
public void constant(Object value) {
    if (value == null) {
        append("null");
    } else if (value instanceof String) {
        append("\"").append(StringEscapeUtils.escapeJava((String) value)).append('"');
    } else if (value instanceof Integer) {
        append(value.toString());//w  ww  . j a  v  a  2 s  . c o  m
    } else if (value instanceof Long) {
        append(value.toString()).append('L');
    } else if (value instanceof Double) {
        append(value.toString());
    } else if (value instanceof Boolean) {
        append(value.toString());
    } else {
        throw new UnsupportedOperationException(value.getClass() + " constants");
    }
}

From source file:org.omnaest.utils.propertyfile.content.parser.PropertyFileContentWriter.java

private static String escapeJavaStyleIfNecessary(boolean useJavaStyleUnicodeEscaping, final String value) {
    return useJavaStyleUnicodeEscaping ? StringEscapeUtils.escapeJava(value) : value;
}

From source file:org.onos.yangtools.sal.binding.yang.types.TypeProviderImpl.java

/**
 * Converts the pattern constraints from <code>typedef</code> to the list of
 * the strings which represents these constraints.
 *
 * @param typedef/*  ww w  .  j av a2s. com*/
 *            extended type in which are the pattern constraints sought
 * @return list of strings which represents the constraint patterns
 * @throws IllegalArgumentException
 *             if <code>typedef</code> equals null
 *
 */
private List<String> resolveRegExpressionsFromTypedef(final ExtendedType typedef) {
    final List<String> regExps = new ArrayList<String>();
    Preconditions.checkArgument(typedef != null, "typedef can't be null");
    final TypeDefinition<?> strTypeDef = baseTypeDefForExtendedType(typedef);
    if (strTypeDef instanceof StringType) {
        final List<PatternConstraint> patternConstraints = typedef.getPatternConstraints();
        if (!patternConstraints.isEmpty()) {
            String regEx;
            String modifiedRegEx;
            for (PatternConstraint patternConstraint : patternConstraints) {
                regEx = patternConstraint.getRegularExpression();
                modifiedRegEx = StringEscapeUtils.escapeJava(regEx);
                regExps.add(modifiedRegEx);
            }
        }
    }
    return regExps;
}

From source file:org.opendaylight.mdsal.binding.javav2.generator.yang.types.TypeGenHelper.java

/**
 * Converts the pattern constraints from <code>typedef</code> to the list of
 * the strings which represents these constraints.
 *
 * @param typedef/*from ww  w.j a  v a 2s .co m*/
 *            extended type in which are the pattern constraints sought
 * @return list of strings which represents the constraint patterns
 * @throws IllegalArgumentException
 *             if <code>typedef</code> equals null
 *
 */
static List<String> resolveRegExpressionsFromTypedef(final TypeDefinition<?> typedef) {
    Preconditions.checkArgument(typedef != null, "typedef can't be null");

    final List<PatternConstraint> patternConstraints;
    if (typedef instanceof StringTypeDefinition) {
        patternConstraints = ((StringTypeDefinition) typedef).getPatternConstraints();
    } else {
        patternConstraints = ImmutableList.of();
    }

    final List<String> regExps = new ArrayList<>(patternConstraints.size());
    for (PatternConstraint patternConstraint : patternConstraints) {
        final String regEx = patternConstraint.getRegularExpression();
        final String modifiedRegEx = StringEscapeUtils.escapeJava(regEx);
        regExps.add(modifiedRegEx);
    }

    return regExps;
}