ToStringMode.java
// Copyright (c) ZeroC, Inc.
package com.zeroc.Ice;
/**
* The output mode for xxxToString methods such as {@code identityToString} and {@code proxyToString}.
* The actual encoding format for the string is the same for all modes: you don't need to specify an
* encoding format or mode when reading such a string.
*/
public enum ToStringMode {
/**
* Characters with ordinal values greater than 127 are kept as-is in the resulting string.
* Non-printable ASCII characters with ordinal values 127 and below are encoded as \\t, \\n
* (etc.) or \\unnnn.
*/
Unicode(0),
/**
* Characters with ordinal values greater than 127 are encoded as universal character names in the resulting string:
* \\unnnn for BMP characters and \\Unnnnnnnn for non-BMP characters.
* Non-printable ASCII characters with ordinal values 127 and below are encoded as \\t, \\n (etc.) or \\unnnn.
*/
ASCII(1),
/**
* Characters with ordinal values greater than 127 are encoded as a sequence of UTF-8 bytes using octal escapes.
* Characters with ordinal values 127 and below are encoded as \\t, \\n (etc.) or an octal escape.
* Use this mode to generate strings compatible with Ice 3.6 and earlier.
*/
Compat(2);
/**
* Returns the integer value of this enumerator.
*
* @return the integer value of this enumerator
*/
public int value() {
return _value;
}
/**
* Returns the enumerator corresponding to the given integer value.
*
* @param v the integer value of the enumerator
* @return the enumerator corresponding to the given integer value, or {@code null} if no such enumerator exists
*/
public static ToStringMode valueOf(int v) {
return switch (v) {
case 0 -> Unicode;
case 1 -> ASCII;
case 2 -> Compat;
default -> null;
};
}
private ToStringMode(int v) {
_value = v;
}
private final int _value;
}