@@ -1030,7 +1030,7 @@ private void generateCharArrayEncodeMethods(
10301030 sb .append (String .format ("\n " +
10311031 indent + " public %1$s %2$s(final String value)\n " +
10321032 indent + " {\n " +
1033- indent + " final int length = value.length();\n " +
1033+ indent + " final int length = null == value ? 0 : value.length();\n " +
10341034 indent + " if (length > %3$d)\n " +
10351035 indent + " {\n " +
10361036 indent + " throw new IllegalStateException(\" length > maxValue for type: \" + length);\n " +
@@ -1051,7 +1051,7 @@ private void generateCharArrayEncodeMethods(
10511051 sb .append (String .format ("\n " +
10521052 indent + " public %1$s %2$s(final CharSequence value)\n " +
10531053 indent + " {\n " +
1054- indent + " final int length = value.length();\n " +
1054+ indent + " final int length = null == value ? 0 : value.length();\n " +
10551055 indent + " if (length > %3$d)\n " +
10561056 indent + " {\n " +
10571057 indent + " throw new IllegalStateException(\" length > maxValue for type: \" + length);\n " +
@@ -1082,7 +1082,7 @@ private void generateCharArrayEncodeMethods(
10821082 indent + " final byte[] bytes;\n " +
10831083 indent + " try\n " +
10841084 indent + " {\n " +
1085- indent + " bytes = value.isEmpty() ?" +
1085+ indent + " bytes = null == value || value.isEmpty() ?" +
10861086 " org.agrona.collections.ArrayUtil.EMPTY_BYTE_ARRAY : value.getBytes(\" %3$s\" );\n " +
10871087 indent + " }\n " +
10881088 indent + " catch (final java.io.UnsupportedEncodingException ex)\n " +
@@ -2139,7 +2139,7 @@ private void generateCharArrayEncodeMethods(
21392139 indent + " public %1$s %2$s(final String src)\n " +
21402140 indent + " {\n " +
21412141 indent + " final int length = %3$d;\n " +
2142- indent + " final int srcLength = src.length();\n " +
2142+ indent + " final int srcLength = null == src ? 0 : src.length();\n " +
21432143 indent + " if (srcLength > length)\n " +
21442144 indent + " {\n " +
21452145 indent + " throw new IndexOutOfBoundsException(" +
@@ -2160,7 +2160,7 @@ private void generateCharArrayEncodeMethods(
21602160 indent + " public %1$s %2$s(final CharSequence src)\n " +
21612161 indent + " {\n " +
21622162 indent + " final int length = %3$d;\n " +
2163- indent + " final int srcLength = src.length();\n " +
2163+ indent + " final int srcLength = null == src ? 0 : src.length();\n " +
21642164 indent + " if (srcLength > length)\n " +
21652165 indent + " {\n " +
21662166 indent + " throw new IndexOutOfBoundsException(" +
@@ -2189,7 +2189,7 @@ private void generateCharArrayEncodeMethods(
21892189 indent + " public %s %s(final String src)\n " +
21902190 indent + " {\n " +
21912191 indent + " final int length = %d;\n " +
2192- indent + " final byte[] bytes = src.getBytes(%s);\n " +
2192+ indent + " final byte[] bytes = null == src ? new byte[0] : src.getBytes(%s);\n " +
21932193 indent + " if (bytes.length > length)\n " +
21942194 indent + " {\n " +
21952195 indent + " throw new IndexOutOfBoundsException(" +
0 commit comments