Package org.acplt.oncrpc.apps.jrpcgen
Interface JrpcgenTypeMapping
- All Known Implementing Classes:
JrpcgenBaseType,JrpcgenComplexType,JrpcgenEnum,JrpcgenStruct,JrpcgenTypedefinition,JrpcgenTypeInfo,JrpcgenUnion
public interface JrpcgenTypeMapping
The type mapping specifies methods supplying type identification and
generation of type specific code snippets. The type mapping is intended
to reduce complexity writing code generation sequences by passing
repsonsibility for type specifics to the type mapping. This allows
more or less type independent and more readable code at a higher level
of code generation statements.
- Author:
- Harald Wirths <hwirths@nde.ag>
-
Method Summary
Modifier and TypeMethodDescriptionReturns the definition name of the mapped type in the x-file.Returns the name of the Java class belonging to the mapped type.Returns the Java name of the mapped type.Returns the name of the XDR class providing the coding methods of the mapped type, in detail the class implementing the interfacefor the mapped type.invalid reference
XdrAblebooleanReturns whether the mapped type belongs to the family of the base types.booleanReturns whether the mapped type isboolean.booleanReturns whether the mapped type isopaque.booleanReturns whether the mapped type isString.booleanisVoid()Returns whether the mapped type isvoid.voidwriteEqualsExpression(JrpcgenJavaFile javaFile, String variableLeft, String variableRight, boolean negate) Writes an equals expression to the passed Java file using the passed names of a left hand side and a right hand side variable.voidwriteJavaToXdr(JrpcgenJavaFile javaFile, String variable) Writes a conversion statement to the passed Java file changing the Java representation of a variable to the corresponding XDR representation, in order to enable XDR encoding operations on the referenced variable.voidwriteJavaToXdr(JrpcgenJavaFile javaFile, JrpcgenJavaFile.Expression expression) Writes a conversion statement to the passed Java file changing the Java representation resulting from the passed expression to the corresponding XDR representation, in order to enable XDR encoding operations on the result of the passed expression.voidwriteXdrConstructorCall(JrpcgenJavaFile javaFile, String parameter) A constructor call based on the XDR class of the mapped type is written to the passed Java file.voidwriteXdrConstructorCall(JrpcgenJavaFile javaFile, JrpcgenJavaFile.Expression parameterExpression) A constructor call based on the XDR class of the mapped type is written to the passed Java file.voidwriteXdrDecodingCall(JrpcgenJavaFile javaFile, String xdrStream) Writes an XDR decoding call to the passed Java file using the passed name of an XDR decoding stream.voidwriteXdrDynamicVectorDecodingCall(JrpcgenJavaFile javaFile, String xdrStream) Writes an XDR decoding call for a dynamic vector to the passed Java file using the passed name of an XDR decoding stream.voidwriteXdrDynamicVectorEncodingCall(JrpcgenJavaFile javaFile, String xdrStream, String variable) Writes an XDR encoding call for a dynamic vector to the passed Java file using the passed name of an XDR encoding stream and the passed name of a variable.voidwriteXdrEncodingCall(JrpcgenJavaFile javaFile, String xdrStream, String variable) Writes an XDR encoding call to the passed Java file using the passed name of an XDR encoding stream and the passed name of a variable.voidwriteXdrEncodingCall(JrpcgenJavaFile javaFile, String xdrStream, JrpcgenJavaFile.Expression expression) Writes an XDR encoding call to the passed Java file using the passed name of an XDR encoding stream and the result of the passed experssion.voidwriteXdrFixedVectorDecodingCall(JrpcgenJavaFile javaFile, String xdrStream, String size) Writes an XDR decoding call for a fixed vector to the passed Java file using the passed name of an XDR decoding stream and the passed size.voidwriteXdrFixedVectorEncodingCall(JrpcgenJavaFile javaFile, String xdrStream, String variable, String size) Writes an XDR encoding call for a fixed vector to the passed Java file using the passed name of an XDR encoding stream, the passed name of a variable and the passed size.voidwriteXdrToJava(JrpcgenJavaFile javaFile, String variable) Writes a conversion statement to the passed Java file changing the XDR representation of a variable to the corresponding Java representation, which takes place after XDR decoding operations.
-
Method Details
-
isVoid
boolean isVoid()Returns whether the mapped type isvoid.- Returns:
truein case the mapped type isvoid,falseotherwise.
-
isBaseType
boolean isBaseType()Returns whether the mapped type belongs to the family of the base types. Base types are:voidbooleanbyteshortintlongfloatdoubleStringopaque
.invalid reference
JrpgenBaseType- Returns:
truein case the mapped type belongs to the family of base types,falseotherwise.
-
isBooleanType
boolean isBooleanType()Returns whether the mapped type isboolean.- Returns:
truein case the mapped type isboolean,falseotherwise.
-
isStringType
boolean isStringType()Returns whether the mapped type isString.- Returns:
truein case the mapped type isString,falseotherwise.
-
isOpaqueType
boolean isOpaqueType()Returns whether the mapped type isopaque.- Returns:
truein case the mapped type isopaque,falseotherwise.
-
getDefinitionName
String getDefinitionName()Returns the definition name of the mapped type in the x-file.- Returns:
- The definition name of the mapped type.
-
getJavaName
String getJavaName()Returns the Java name of the mapped type.- Returns:
- The Java name of the mapped type.
-
getJavaClass
String getJavaClass()Returns the name of the Java class belonging to the mapped type. The returned value will be equal to the Java name of the mapped type, if the mapped type is a Java class. For types mapped to Java primitives likeint, this method is expected to return the name of the wrapper class to the Java primitive.- Returns:
- The name of the Java class representing the mapped type.
-
getXdrClass
String getXdrClass()Returns the name of the XDR class providing the coding methods of the mapped type, in detail the class implementing the interfacefor the mapped type. For base types the returned value will be one of the provided XDR classes of the ONC/RPC runtime library. For enumerations the returned value depends on the given value to the flag noEnum. However, the returned value identifies an XDR class provided by the ONC/RPC runtime library, in detail eitherinvalid reference
XdrAblewith flag noEnum set toinvalid reference
XdrInttrueorwith flag noEnum set toinvalid reference
XdrEnumfalse. For other complex types the returned value will be equal to the Java name and Java class, respectively.- Returns:
- The name of the XDR class implementing the coding methods for the mapped type.
-
writeXdrConstructorCall
A constructor call based on the XDR class of the mapped type is written to the passed Java file. Dependent on the passed parameter the constructor call becomes a call without a parameter or one parameter.- Parameters:
javaFile- The Java file, where the XDR constructor call is going to be placed.parameter-nullto generate a default constructor call, a parameter name to generate a constructor call with one parameter.
-
writeXdrConstructorCall
void writeXdrConstructorCall(JrpcgenJavaFile javaFile, JrpcgenJavaFile.Expression parameterExpression) A constructor call based on the XDR class of the mapped type is written to the passed Java file. The parameter expression is intended to write an expression, which evaluates to a parameter to the constructor call.- Parameters:
javaFile- The Java file, where the constuctor call is going to be placed.parameterExpression- An expression to be called with the passed Java file, when the expression is going to be placed in the Java file.
-
writeJavaToXdr
Writes a conversion statement to the passed Java file changing the Java representation of a variable to the corresponding XDR representation, in order to enable XDR encoding operations on the referenced variable.- Parameters:
javaFile- The java file, where the converison statement is going to be placed.variable- The name of a variable in Java representation.
-
writeJavaToXdr
Writes a conversion statement to the passed Java file changing the Java representation resulting from the passed expression to the corresponding XDR representation, in order to enable XDR encoding operations on the result of the passed expression.- Parameters:
javaFile- The Java file, where the conversion statement is going to be placed.expression- An expression to be called with the passed Java file, when the expression is going to be placed in the Java file.
-
writeXdrToJava
Writes a conversion statement to the passed Java file changing the XDR representation of a variable to the corresponding Java representation, which takes place after XDR decoding operations.- Parameters:
javaFile- The Java file, where the conversion statement is going to be placed.variable- The name of a variable in XDR representation.
-
writeXdrEncodingCall
Writes an XDR encoding call to the passed Java file using the passed name of an XDR encoding stream and the passed name of a variable. The referenced variable is expected to represent a value of the mapped type.- Parameters:
javaFile- The Java file, where the XDR encoding call is going to be placed.xdrStream- The name of the XDR encoding stream instance to be used in the statement.variable- The name of the variable to be used in the statement.
-
writeXdrEncodingCall
void writeXdrEncodingCall(JrpcgenJavaFile javaFile, String xdrStream, JrpcgenJavaFile.Expression expression) Writes an XDR encoding call to the passed Java file using the passed name of an XDR encoding stream and the result of the passed experssion. The result of the passed expression is expected to represent a value of the mapped type.- Parameters:
javaFile- The Java file, where the XDR encoding code is going to be placed.xdrStream- The name of the XDR encoding stream instance to be used in the statement.expression- An expression to be called with the passed Java file, when the expression is going to be placed in the Java file.
-
writeXdrFixedVectorEncodingCall
void writeXdrFixedVectorEncodingCall(JrpcgenJavaFile javaFile, String xdrStream, String variable, String size) Writes an XDR encoding call for a fixed vector to the passed Java file using the passed name of an XDR encoding stream, the passed name of a variable and the passed size. The rerferenced variable is expected to repesent an array of the mapped type.- Parameters:
javaFile- The Java file, where the XDR encoding call is going to be placed.xdrStream- The name of the XDR encoding stream instance to be used in the statement.variable- The name of the variable to be used in the statement.size- A string specifying the size of the fixed vector.
-
writeXdrDynamicVectorEncodingCall
Writes an XDR encoding call for a dynamic vector to the passed Java file using the passed name of an XDR encoding stream and the passed name of a variable. The referenced variable is expected to represent an array of the mapped type.- Parameters:
javaFile- The Java file, where the XDR encoding call is going to be placed.xdrStream- The name of the XDR encoding stream instance to be used in the statement.variable- The name of the variable to be used in the statement.
-
writeXdrDecodingCall
Writes an XDR decoding call to the passed Java file using the passed name of an XDR decoding stream.- Parameters:
javaFile- The Java file, where the XDR decoding call is going to be placed.xdrStream- The name of the XDR decoding stream instance to be used in the statement.
-
writeXdrFixedVectorDecodingCall
Writes an XDR decoding call for a fixed vector to the passed Java file using the passed name of an XDR decoding stream and the passed size.- Parameters:
javaFile- The Java file, where the XDR decoding call is going to be placed.xdrStream- The name of the XDR decoding stream instance to be used in the statement.size- A string specifying the size of the fixed vector.
-
writeXdrDynamicVectorDecodingCall
Writes an XDR decoding call for a dynamic vector to the passed Java file using the passed name of an XDR decoding stream.- Parameters:
javaFile- The Java file, where the XDR decoding call is going to be placed.xdrStream- The name of the XDR decoding stream instance to be used in the statement.
-
writeEqualsExpression
void writeEqualsExpression(JrpcgenJavaFile javaFile, String variableLeft, String variableRight, boolean negate) Writes an equals expression to the passed Java file using the passed names of a left hand side and a right hand side variable. The negate parameter controls whether the statement evaluates totrueon equality or on inequality.- Parameters:
javaFile- The Java file, where the equality expression is going to be placed.variableLeft- The name of the variable to be used as the left hand side in the statement.variableRight- The name of the variable to be used as the right hand side in the statement.negate-falseto let the resulting statement returntrueon equality,trueto let the resulting statement returntrueon inequality.
-