Class JrpcgenTypeInfo

java.lang.Object
org.acplt.oncrpc.apps.jrpcgen.JrpcgenTypeInfo
All Implemented Interfaces:
JrpcgenTypeMapping

public class JrpcgenTypeInfo extends Object implements JrpcgenTypeMapping
  • Method Details

    • getTypeInfo

      public static JrpcgenTypeInfo getTypeInfo(JrpcgenContext context, String type)
    • generateCodingSupplement

      public static void generateCodingSupplement(JrpcgenContext context)
    • isVoid

      public final boolean isVoid()
      Description copied from interface: JrpcgenTypeMapping
      Returns whether the mapped type is void.
      Specified by:
      isVoid in interface JrpcgenTypeMapping
      Returns:
      true in case the mapped type is void, false otherwise.
    • isBaseType

      public final boolean isBaseType()
      Description copied from interface: JrpcgenTypeMapping
      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
      .
      Specified by:
      isBaseType in interface JrpcgenTypeMapping
      Returns:
      true in case the mapped type belongs to the family of base types, false otherwise.
    • isBooleanType

      public final boolean isBooleanType()
      Description copied from interface: JrpcgenTypeMapping
      Returns whether the mapped type is boolean.
      Specified by:
      isBooleanType in interface JrpcgenTypeMapping
      Returns:
      true in case the mapped type is boolean, false otherwise.
    • isStringType

      public final boolean isStringType()
      Description copied from interface: JrpcgenTypeMapping
      Returns whether the mapped type is String.
      Specified by:
      isStringType in interface JrpcgenTypeMapping
      Returns:
      true in case the mapped type is String, false otherwise.
    • isOpaqueType

      public final boolean isOpaqueType()
      Description copied from interface: JrpcgenTypeMapping
      Returns whether the mapped type is opaque.
      Specified by:
      isOpaqueType in interface JrpcgenTypeMapping
      Returns:
      true in case the mapped type is opaque, false otherwise.
    • getDefinitionName

      public final String getDefinitionName()
      Description copied from interface: JrpcgenTypeMapping
      Returns the definition name of the mapped type in the x-file.
      Specified by:
      getDefinitionName in interface JrpcgenTypeMapping
      Returns:
      The definition name of the mapped type.
    • getJavaName

      public final String getJavaName()
      Description copied from interface: JrpcgenTypeMapping
      Returns the Java name of the mapped type.
      Specified by:
      getJavaName in interface JrpcgenTypeMapping
      Returns:
      The Java name of the mapped type.
    • getJavaClass

      public final String getJavaClass()
      Description copied from interface: JrpcgenTypeMapping
      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.
      Specified by:
      getJavaClass in interface JrpcgenTypeMapping
      Returns:
      The name of the Java class representing the mapped type.
    • getXdrClass

      public final String getXdrClass()
      Description copied from interface: JrpcgenTypeMapping
      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.
      Specified by:
      getXdrClass in interface JrpcgenTypeMapping
      Returns:
      The name of the XDR class implementing the coding methods for the mapped type.
    • writeXdrConstructorCall

      public final void writeXdrConstructorCall(JrpcgenJavaFile javaFile, String parameter)
      Description copied from interface: JrpcgenTypeMapping
      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.
      Specified by:
      writeXdrConstructorCall in interface JrpcgenTypeMapping
      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

      public final void writeXdrConstructorCall(JrpcgenJavaFile javaFile, JrpcgenJavaFile.Expression parameterExpression)
      Description copied from interface: JrpcgenTypeMapping
      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.
      Specified by:
      writeXdrConstructorCall in interface JrpcgenTypeMapping
      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

      public final void writeJavaToXdr(JrpcgenJavaFile javaFile, String variable)
      Description copied from interface: JrpcgenTypeMapping
      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.
      Specified by:
      writeJavaToXdr in interface JrpcgenTypeMapping
      Parameters:
      javaFile - The java file, where the converison statement is going to be placed.
      variable - The name of a variable in Java representation.
    • writeJavaToXdr

      public final void writeJavaToXdr(JrpcgenJavaFile javaFile, JrpcgenJavaFile.Expression expression)
      Description copied from interface: JrpcgenTypeMapping
      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.
      Specified by:
      writeJavaToXdr in interface JrpcgenTypeMapping
      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

      public final void writeXdrToJava(JrpcgenJavaFile javaFile, String variable)
      Description copied from interface: JrpcgenTypeMapping
      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.
      Specified by:
      writeXdrToJava in interface JrpcgenTypeMapping
      Parameters:
      javaFile - The Java file, where the conversion statement is going to be placed.
      variable - The name of a variable in XDR representation.
    • writeXdrEncodingCall

      public final void writeXdrEncodingCall(JrpcgenJavaFile javaFile, String xdrStream, String variable)
      Description copied from interface: JrpcgenTypeMapping
      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.
      Specified by:
      writeXdrEncodingCall in interface JrpcgenTypeMapping
      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

      public final void writeXdrEncodingCall(JrpcgenJavaFile javaFile, String xdrStream, JrpcgenJavaFile.Expression expression)
      Description copied from interface: JrpcgenTypeMapping
      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.
      Specified by:
      writeXdrEncodingCall in interface JrpcgenTypeMapping
      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

      public final void writeXdrFixedVectorEncodingCall(JrpcgenJavaFile javaFile, String xdrStream, String variable, String size)
      Description copied from interface: JrpcgenTypeMapping
      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.
      Specified by:
      writeXdrFixedVectorEncodingCall in interface JrpcgenTypeMapping
      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

      public final void writeXdrDynamicVectorEncodingCall(JrpcgenJavaFile javaFile, String xdrStream, String variable)
      Description copied from interface: JrpcgenTypeMapping
      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.
      Specified by:
      writeXdrDynamicVectorEncodingCall in interface JrpcgenTypeMapping
      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

      public final void writeXdrDecodingCall(JrpcgenJavaFile javaFile, String xdrStream)
      Description copied from interface: JrpcgenTypeMapping
      Writes an XDR decoding call to the passed Java file using the passed name of an XDR decoding stream.
      Specified by:
      writeXdrDecodingCall in interface JrpcgenTypeMapping
      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

      public final void writeXdrFixedVectorDecodingCall(JrpcgenJavaFile javaFile, String xdrStream, String size)
      Description copied from interface: JrpcgenTypeMapping
      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.
      Specified by:
      writeXdrFixedVectorDecodingCall in interface JrpcgenTypeMapping
      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

      public final void writeXdrDynamicVectorDecodingCall(JrpcgenJavaFile javaFile, String xdrStream)
      Description copied from interface: JrpcgenTypeMapping
      Writes an XDR decoding call for a dynamic vector to the passed Java file using the passed name of an XDR decoding stream.
      Specified by:
      writeXdrDynamicVectorDecodingCall in interface JrpcgenTypeMapping
      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

      public final void writeEqualsExpression(JrpcgenJavaFile javaFile, String variableLeft, String variableRight, boolean negate)
      Description copied from interface: JrpcgenTypeMapping
      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.
      Specified by:
      writeEqualsExpression in interface JrpcgenTypeMapping
      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.