Skip to content

Commit

Permalink
feat(plc4j/codgen): add additional optional factory method for expres…
Browse files Browse the repository at this point in the history
…sionless optionals
  • Loading branch information
sruehl committed Oct 22, 2021
1 parent e4d93c4 commit b71830d
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -453,7 +453,7 @@ public class ${type.name}IO implements <#if outputFlavor != "passive">MessageIO<
<#if optionalField.conditionExpression.present && optionalField.conditionExpression.orElseThrow().contains("curPos")>
curPos = readBuffer.getPos();
</#if>
${helper.getLanguageTypeNameForField(field)} ${namedField.name} = read${field.typeName?cap_first}Field("${namedField.name}", ${helper.getDataReaderCall(typedField.type)}, <#if optionalField.conditionExpression.present>${helper.toParseExpression(optionalField, optionalField.conditionExpression.get(), parserArguments)}<#else>true</#if>);
${helper.getLanguageTypeNameForField(field)} ${namedField.name} = read${field.typeName?cap_first}Field("${namedField.name}", ${helper.getDataReaderCall(typedField.type)}<#if optionalField.conditionExpression.present>, ${helper.toParseExpression(optionalField, optionalField.conditionExpression.get(), parserArguments)}</#if>);
<#break>
<#case "assert">
<#assign assertField = field.asAssertField().orElseThrow()>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,10 @@ public static <T> T readImplicitField(String logicalName, DataReader<T> dataRead
return new FieldReaderImplicit<T>().readField(logicalName, dataReader, readerArgs);
}

public static <T> T readOptionalField(String logicalName, DataReader<T> dataReader, WithReaderArgs... readerArgs) throws ParseException {
return new FieldReaderOptional<T>().readOptionalField(logicalName, dataReader, true, readerArgs);
}

public static <T> T readOptionalField(String logicalName, DataReader<T> dataReader, boolean condition, WithReaderArgs... readerArgs) throws ParseException {
return new FieldReaderOptional<T>().readOptionalField(logicalName, dataReader, condition, readerArgs);
}
Expand All @@ -64,6 +68,10 @@ public static <T> T readReservedField(String logicalName, DataReader<T> dataRead
return new FieldReaderReserved<T>().readReservedField(logicalName, dataReader, expectedValue, readerArgs);
}

public static <T> T readSimpleField(String logicalName, DataReader<T> dataReader, WithReaderArgs... readerArgs) throws ParseException {
return new FieldReaderSimple<T>().readField(logicalName,dataReader,readerArgs);
}

public static <T> T readUnknownField(String logicalName, DataReader<T> dataReader, WithReaderArgs... readerArgs) throws ParseException {
return new FieldReaderUnknown<T>().readUnknownField(logicalName, dataReader, readerArgs);
}
Expand Down

0 comments on commit b71830d

Please sign in to comment.