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 Type
    Method
    Description
    Returns 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 interface
    invalid reference
    XdrAble
    for the mapped type.
    boolean
    Returns whether the mapped type belongs to the family of the base types.
    boolean
    Returns whether the mapped type is boolean.
    boolean
    Returns whether the mapped type is opaque.
    boolean
    Returns whether the mapped type is String.
    boolean
    Returns whether the mapped type is void.
    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.
    void
    writeJavaToXdr(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.
    void
    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.
    void
    A constructor call based on the XDR class of the mapped type is written to the passed Java file.
    void
    A constructor call based on the XDR class of the mapped type is written to the passed Java file.
    void
    Writes an XDR decoding call to the passed Java file using the passed name of an XDR decoding stream.
    void
    Writes an XDR decoding call for a dynamic vector to the passed Java file using the passed name of an XDR decoding stream.
    void
    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.
    void
    writeXdrEncodingCall(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.
    void
    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.
    void
    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.
    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.
    void
    writeXdrToJava(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 is void.
      Returns:
      true in case the mapped type is void, false otherwise.
    • isBaseType

      boolean isBaseType()
      Returns whether the mapped type belongs to the family of the base types. Base types are:
      • void
      • boolean
      • byte
      • short
      • int
      • long
      • float
      • double
      • String
      • opaque
      For more details on base types see
      invalid reference
      JrpgenBaseType
      .
      Returns:
      true in case the mapped type belongs to the family of base types, false otherwise.
    • isBooleanType

      boolean isBooleanType()
      Returns whether the mapped type is boolean.
      Returns:
      true in case the mapped type is boolean, false otherwise.
    • isStringType

      boolean isStringType()
      Returns whether the mapped type is String.
      Returns:
      true in case the mapped type is String, false otherwise.
    • isOpaqueType

      boolean isOpaqueType()
      Returns whether the mapped type is opaque.
      Returns:
      true in case the mapped type is opaque, false otherwise.
    • 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 like int, 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 interface
      invalid reference
      XdrAble
      for 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 either
      invalid reference
      XdrInt
      with flag noEnum set to true or
      invalid reference
      XdrEnum
      with flag noEnum set to false. 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

      void writeXdrConstructorCall(JrpcgenJavaFile javaFile, String parameter)
      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 - null to 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

      void writeJavaToXdr(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.
      Parameters:
      javaFile - The java file, where the converison statement is going to be placed.
      variable - The name of a variable in Java representation.
    • writeJavaToXdr

      void writeJavaToXdr(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.
      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

      void writeXdrToJava(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.
      Parameters:
      javaFile - The Java file, where the conversion statement is going to be placed.
      variable - The name of a variable in XDR representation.
    • writeXdrEncodingCall

      void writeXdrEncodingCall(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. 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

      void writeXdrDynamicVectorEncodingCall(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. 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

      void writeXdrDecodingCall(JrpcgenJavaFile javaFile, String xdrStream)
      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

      void writeXdrFixedVectorDecodingCall(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.
      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

      void writeXdrDynamicVectorDecodingCall(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.
      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 to true on 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 - false to let the resulting statement return true on equality, true to let the resulting statement return true on inequality.