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 Type
Method
Description
`String`
`getDefinitionName()`
Returns the definition name of the mapped type in the x-file.
`String`
`getJavaClass()`
Returns the name of the Java class belonging to the mapped type.
`String`
`getJavaName()`
Returns the Java name of the mapped type.
`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.
`boolean`
`isBaseType()`
Returns whether the mapped type belongs to the family of the base types.
`boolean`
`isBooleanType()`
Returns whether the mapped type is `boolean`.
`boolean`
`isOpaqueType()`
Returns whether the mapped type is `opaque`.
`boolean`
`isStringType()`
Returns whether the mapped type is `String`.
`boolean`
`isVoid()`
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`
`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.
`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.
`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.
`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.
`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.
`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.
`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`
`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.
`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.
`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.