Package org.acplt.oncrpc.apps.jrpcgen

# Enum Class JrpcgenBaseType

java.lang.Object
java.lang.Enum<JrpcgenBaseType>
org.acplt.oncrpc.apps.jrpcgen.JrpcgenBaseType

All Implemented Interfaces:
  `Serializable`, `Comparable<JrpcgenBaseType>`, `Constable`, `JrpcgenTypeMapping`

public enum JrpcgenBaseType extends Enum<JrpcgenBaseType> implements JrpcgenTypeMapping
The base type class maps base types and implements the type mapping interface.

Author:
  Harald Wirths <hwirths@nde.ag>

## Nested Class Summary

## Nested classes/interfaces inherited from class java.lang.Enum

`Enum.EnumDesc<E extends Enum<E>>`

## Enum Constant Summary

Enum Constants
Enum Constant
Description
`BOOL`
`CHAR`
`DOUBLE`
`FLOAT`
`HYPER`
`INT`
`OPAQUE`
`SHORT`
`STRING`
`VOID`

## Method Summary

Modifier and Type
Method
Description
`static JrpcgenBaseType`
`getBaseType(String type)`
Returns the base type mapping to the passed type name as given in an x-file.
`final String`
`getDefinitionName()`
Returns the definition name of the mapped type in the x-file.
`final String`
`getJavaClass()`
Returns the name of the Java class belonging to the mapped type.
`final String`
`getJavaName()`
Returns the name of the Java type mapped to the XDR type identified by the definition name.
`final 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.
`final boolean`
`isBaseType()`
Returns whether the mapped type belongs to the family of the base types.
`static boolean`
`isBaseType(String type)`
Returns whether the passed type name labels one of the base types defined by this enumeration.
`static boolean`
`isBoolean(String type)`
Returns whether the passed type name equals the definition name of the base type `bool`.
`final boolean`
`isBooleanType()`
Returns whether this base type maps the type `boolean`.
`static boolean`
`isChar(String type)`
Returns whether the passed type name equals the definition name of the base type `char`.
`static boolean`
`isDouble(String type)`
Returns whether the passed type name equals the definition name of the base type `double`.
`static boolean`
`isFloat(String type)`
Returns whether the passed type name equals the definition name of the base type `float`.
`static boolean`
`isHyper(String type)`
Returns whether the passed type name equals the definition name of the base type `hyper`.
`static boolean`
`isInt(String type)`
Returns whether the passed type name equals the definition name of the base type `int`.
`static boolean`
`isOpaque(String type)`
Returns whether the passed type name equals the definition name of the base type `opaque`.
`final boolean`
`isOpaqueType()`
Returns whether this base type maps the type `opaque`.
`static boolean`
`isPrimitive(String type)`
Returns whether the passed type name labels the definition name of one of the primitive types `bool`, `char`, `short`, `int`, `hyper`, `float` or `double`.
`static boolean`
`isShort(String type)`
Returns whether the passed type name equals the definition name of the base type `short`.
`static boolean`
`isString(String type)`
Returns whether the passed type name equals the definition name of the base type `String`.
`final boolean`
`isStringType()`
Returns whether this base type maps the type `String`.
`final boolean`
`isVoid()`
Returns whether this base type maps the type `void`.
`static boolean`
`isVoid(String type)`
Returns whether the passed type name equals the definition name of the base type `void`.
`static JrpcgenBaseType`
`valueOf(String name)`
Returns the enum constant of this class with the specified name.
`static JrpcgenBaseType[]`
`values()`
Returns an array containing the constants of this enum class, in the order they are declared.
`JrpcgenJavaFile`
`writeCodingMethodStem(JrpcgenJavaFile javaFile, String xdrStream, String codingType, String typeSpecifier)`
Writes the coding method stem for the mapped base type.
`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 base type is written to the passed Java file.
`void`
`writeXdrConstructorCall(JrpcgenJavaFile javaFile, JrpcgenJavaFile.Expression parameterExpression)`
A cosntuctor call based on the XDR class of the mapped base 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 result)`
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.

### Methods inherited from class java.lang.Enum

`clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

### Methods inherited from class java.lang.Object

`getClass, notify, notifyAll, wait, wait, wait`

## Enum Constant Details

### VOID

public static final JrpcgenBaseType VOID

### BOOL

public static final JrpcgenBaseType BOOL

### CHAR

public static final JrpcgenBaseType CHAR

### SHORT

public static final JrpcgenBaseType SHORT

### INT

public static final JrpcgenBaseType INT

### HYPER

public static final JrpcgenBaseType HYPER

### FLOAT

public static final JrpcgenBaseType FLOAT

### DOUBLE

public static final JrpcgenBaseType DOUBLE

### STRING

public static final JrpcgenBaseType STRING

### OPAQUE

public static final JrpcgenBaseType OPAQUE

## Method Details

### values

public static JrpcgenBaseType[] values()
Returns an array containing the constants of this enum class, in the order they are declared.

Returns:
  an array containing the constants of this enum class, in the order they are declared

### valueOf

public static JrpcgenBaseType valueOf(String name)
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)

Parameters:
  `name` - the name of the enum constant to be returned.
Returns:
  the enum constant with the specified name
Throws:
  `IllegalArgumentException` - if this enum class has no constant with the specified name
  `NullPointerException` - if the argument is null

### isVoid

public static boolean isVoid(String type)
Returns whether the passed type name equals the definition name of the base type `void`.

Parameters:
  `type` - The type name to check.
Returns:
  `true` in case the passed type name equals the definition name of the base type `void`, `false` otherwise.

### isBoolean

public static boolean isBoolean(String type)
Returns whether the passed type name equals the definition name of the base type `bool`.

Parameters:
  `type` - The type name to check.
Returns:
  `true` in case the passed type name equals the definition name of the base type `bool`, `false` otherwise.

### isChar

public static boolean isChar(String type)
Returns whether the passed type name equals the definition name of the base type `char`.

Parameters:
  `type` - The type name to check.
Returns:
  `true` in case the passed type name equals the definition name of the base type `char`, `false` otherwise.

### isShort

public static boolean isShort(String type)
Returns whether the passed type name equals the definition name of the base type `short`.

Parameters:
  `type` - The type name to check.
Returns:
  `true` in case the passed type name equals the definition name of the base type `short`, `false` otherwise.

### isInt

public static boolean isInt(String type)
Returns whether the passed type name equals the definition name of the base type `int`.

Parameters:
  `type` - The type name to check.
Returns:
  `true` in case the passed type name equals the definition name of the base type `int`, `false` otherwise.

### isHyper

public static boolean isHyper(String type)
Returns whether the passed type name equals the definition name of the base type `hyper`.

Parameters:
  `type` - The type name to check.
Returns:
  `true` in case the passed type name equals the definition name of the base type `hyper`, `false` otherwise.

### isFloat

public static boolean isFloat(String type)
Returns whether the passed type name equals the definition name of the base type `float`.

Parameters:
  `type` - The type name to check.
Returns:
  `true` in case the passed type name equals the definition name of the base type `float`, `false` otherwise.

### isDouble

public static boolean isDouble(String type)
Returns whether the passed type name equals the definition name of the base type `double`.

Parameters:
  `type` - The type name to check.
Returns:
  `true` in case the passed type name equals the definition name of the base type `double`, `false` otherwise.

### isString

public static boolean isString(String type)
Returns whether the passed type name equals the definition name of the base type `String`.

Parameters:
  `type` - The type name to check.
Returns:
  `true` in case the passed type name equals the definition name of the base type `String`, `false` otherwise.

### isOpaque

public static boolean isOpaque(String type)
Returns whether the passed type name equals the definition name of the base type `opaque`.

Parameters:
  `type` - The type name to check.
Returns:
  `true` in case the passed type name equals the definition name of the base type `opaque`, `false` otherwise.

### isPrimitive

public static boolean isPrimitive(String type)
Returns whether the passed type name labels the definition name of one of the primitive types `bool`, `char`, `short`, `int`, `hyper`, `float` or `double`.

Parameters:
  `type` - The type name to check.
Returns:
  `true` in case the passed type name labels one of the mentioned primitive types, `false` otherwise.

### isBaseType

public static boolean isBaseType(String type)
Returns whether the passed type name labels one of the base types defined by this enumeration.

Parameters:
  `type` - The type name to check.
Returns:
  `true` in case the passed type name labels one of the base types defined by this enumeration, `false` otherwise.

### getBaseType

public static JrpcgenBaseType getBaseType(String type)
Returns the base type mapping to the passed type name as given in an x-file. One of the following will be returned:

- Type name void : `JrpcgenBaseType.VOID`
- Type name bool : `JrpcgenBaseType.BOOL`
- Type name char : `JrpcgenBaseType.CHAR`
- Type name short : `JrpcgenBaseType.SHORT`
- Type name int : `JrpcgenBaseType.INT`
- Type name hyper : `JrpcgenBaseType.HYPER`
- Type name float : `JrpcgenBaseType.FLOAT`
- Type name double : `JrpcgenBaseType.DOUBLE`
- Type name string : `JrpcgenBaseType.STRING`
- Type name opaque : `JrpcgenBaseType.OPAQUE`

Parameters:
  `type` - The name of the requested base type.
Returns:
  The corresponding base type mapping or `null`.

### isVoid

public final boolean isVoid()
Returns whether this base type maps the type `void`.

Specified by:
  `isVoid` in interface `JrpcgenTypeMapping`
Returns:
  `true` in case this is the mapping for type `void`, `false` otherwise.

### isBaseType

public final boolean isBaseType()
Returns whether the mapped type belongs to the family of the base types. Each type mapping of this enumeration belongs to one of the base types and `true` is returned, always.

Specified by:
  `isBaseType` in interface `JrpcgenTypeMapping`
Returns:
  `true`

### isBooleanType

public final boolean isBooleanType()
Returns whether this base type maps the type `boolean`.

Specified by:
  `isBooleanType` in interface `JrpcgenTypeMapping`
Returns:
  `true` in case this is the mapping for type `boolean…`, `false` otherwise.

### isStringType

public final boolean isStringType()
Returns whether this base type maps the type `String`.

Specified by:
  `isStringType` in interface `JrpcgenTypeMapping`
Returns:
  `true` in case this base type maps the type `String`, `false` otherwise.

### isOpaqueType

public final boolean isOpaqueType()
Returns whether this base type maps the type `opaque`.

Specified by:
  `isOpaqueType` in interface `JrpcgenTypeMapping`
Returns:
  `true` in case this base type maps the type `opaque`, `false` otherwise.

### getDefinitionName

public final String getDefinitionName()
Returns the definition name of the mapped type in the x-file.

- `JrpcgenBaseType.VOID` returns the name void.
- `JrpcgenBaseType.BOOL` returns the name bool
- `JrpcgenBaseType.CHAR` returns the name char
- `JrpcgenBaseType.SHORT` returns the name short
- `JrpcgenBaseType.INT` returns the name int
- `JrpcgenBaseType.HYPER` returns the name hyper
- `JrpcgenBaseType.FLOAT` returns the name float
- `JrpcgenBaseType.DOUBLE` returns the name double
- `JrpcgenBaseType.STRING` returns the name string
- `JrpcgenBaseType.OPAQUE` returns the name opaque

Specified by:
  `getDefinitionName` in interface `JrpcgenTypeMapping`
Returns:
  The definition name of this base type as described above.

### getJavaName

public final String getJavaName()
Returns the name of the Java type mapped to the XDR type identified by the definition name. The returned value depends on the mapped base type and will be one of the following:

- `void` for the base type mapping `JrpcgenBaseType.VOID`.
- `boolean` for the base type mapping `JrpcgenBaseType.BOOL`.
- `byte` for the base type mapping `JrpcgenBaseType.CHAR`.
- `short` for the base type mapping `JrpcgenBaseType.SHORT`.
- `int` for the base type mapping `JrpcgenBaseType.INT`.
- `long` for the base type mapping `JrpcgenBaseType.HYPER`.
- `float` for the base type mapping `JrpcgenBaseType.FLOAT`.
- `double` for the base type mapping `JrpcgenBaseType.DOUBLE`.
- `String` for the base type mapping `JrpcgenBaseType.STRING`.
- `byte` for the base type mapping `JrpcgenBaseType.OPAQUE`.

Specified by:
  `getJavaName` in interface `JrpcgenTypeMapping`
Returns:
  The Java name of the mapped type.

### getJavaClass

public final String getJavaClass()
Returns the name of the Java class belonging to the mapped type. The returned value depends on the mapped base type and will be one of the following:

- `Void` for the base type mapping `JrpcgenBaseType.VOID`.
- `Boolean` for the base type mapping `JrpcgenBaseType.BOOL`.
- `Byte` for the base type mapping `JrpcgenBaseType.CHAR`.
- `Short` for the base type mapping `JrpcgenBaseType.SHORT`.
- `Integer` for the base type mapping `JrpcgenBaseType.INT`.
- `Long` for the base type mapping `JrpcgenBaseType.HYPER`.
- `Float` for the base type mapping `JrpcgenBaseType.FLOAT`.
- `Double` for the base type mapping `JrpcgenBaseType.DOUBLE`.
- `String` for the base type mapping `JrpcgenBaseType.STRING`.
- `Byte` for the base type mapping `JrpcgenBaseType.OPAQUE`.

Specified by:
  `getJavaClass` in interface `JrpcgenTypeMapping`
Returns:
  The mapped Java class name for this base type as described above.

### getXdrClass

public final 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. The returned value depends on the mapped base type and will be one of the following:

- invalid reference

      XdrVoid

  for the base type mapping `JrpcgenBaseType.VOID`.
- invalid reference

      XdrBoolean

  for the base type mapping `JrpcgenBaseType.BOOL`.
- invalid reference

      XdrByte

  for the base type mapping `JrpcgenBaseType.CHAR`.
- invalid reference

      XdrShort

  for the base type mapping `JrpcgenBaseType.SHORT`.
- invalid reference

      XdrInt

  for the base type mapping `JrpcgenBaseType.INT`.
- invalid reference

      XdrLong

  for the base type mapping `JrpcgenBaseType.HYPER`.
- invalid reference

      XdrFloat

  for the base type mapping `JrpcgenBaseType.FLOAT`.
- invalid reference

      XdrDouble

  for the base type mapping `JrpcgenBaseType.DOUBLE`.
- invalid reference

      XdrString

  for the base type mapping `JrpcgenBaseType.STRING`.
- invalid reference

      XdrOpaque

  for the base type mapping `JrpcgenBaseType.OPAQUE`.

Specified by:
  `getXdrClass` in interface `JrpcgenTypeMapping`
Returns:
  The name of the XDR class implementing the coding methods for the mapped type.

### writeXdrConstructorCall

public void writeXdrConstructorCall(JrpcgenJavaFile javaFile, String parameter)
A constructor call based on the XDR class of the mapped base type is written to the passed Java file. Dependent on the passed parameter the constructor call becomes a call without a parameter or with one parameter.

This applies to all base types except for the base type `JrpcgenBaseType.VOID`. The base type `JrpcgenBaseType.VOID` will return a reference to the global instance `XdrVoid.XDR_VOID`, always. As this type does not hold a value, a passed parameter different from `null` will be ignored.

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 void writeXdrConstructorCall(JrpcgenJavaFile javaFile, JrpcgenJavaFile.Expression parameterExpression)
A cosntuctor call based on the XDR class of the mapped base 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.

This applies to all base types except for the base type `JrpcgenBaseType.VOID`. The base type `JrpcgenBaseType.VOID` will return a reference to the global instance `XdrVoid.XDR_VOID`, always. As this type does not hold a value, the passed parameter expression will be ignored.

Specified by:
  `writeXdrConstructorCall` in interface `JrpcgenTypeMapping`
Parameters:
  `javaFile` - The Java file, where the constructor 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 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. With base types an XDR constructor call will be placed into the Java file, where the passed variable will be placed as parameter to the constructor call.

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.
See Also:
  - `writeXdrConstructorCall(JrpcgenJavaFile, String)`

### writeJavaToXdr

public 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. With base types an XDR constructor call will be placed into the Java file, where the passed expression will form the parameter to the constructor call.

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.
See Also:
  - `writeXdrConstructorCall(JrpcgenJavaFile, org.acplt.oncrpc.apps.jrpcgen.JrpcgenJavaFile.Expression)`

### writeXdrToJava

public void writeXdrToJava(JrpcgenJavaFile javaFile, String result)
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.

This applies to all base types except for the base type `JrpcgenBaseType.VOID`. No statement is written for this type, becaus the XDR class

invalid reference

    XdrVoid

does not hold any value.

Specified by:
  `writeXdrToJava` in interface `JrpcgenTypeMapping`
Parameters:
  `javaFile` - The Java file, where the conversion statement is going to be placed.
  `result` - The name of a variable in XDR representation.
  `variable` - The name of a variable in XDR representation.

### writeXdrEncodingCall

public 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.

This applies to all base types except for the following base types:

- `JrpcgenBaseType.VOID` : This type does not support any coding as it does represent no value.
- `JrpcgenBaseType.STRING` : This type does not support coding in a scalar context.
- `JrpcgenBaseType.OPAQUE` : This type does not support coding in a scalar context.

For these base types nothing is written to the passed Java file by this method.

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 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.

This applies to all base types except for the following base types:

- `JrpcgenBaseType.VOID` : This type does not support any coding as it does represent no value.
- `JrpcgenBaseType.STRING` : This type does not support coding in a scalar context.
- `JrpcgenBaseType.OPAQUE` : This type does not support coding in a scalar context.

For these base types nothing is written to the passed Java file by this method.

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 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.

This applies to all base types except for the following base types:

- `JrpcgenBaseType.VOID` : This type does not support any coding as it does represent no value.
- `JrpcgenBaseType.STRING` : This type does not support coding in a fixed vector context.

For these base types nothing is written to the passed Java file by this method.

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 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 repesent an array of the mapped type.

This applies to all base types except for the base type `JrpcgenBaseType.VOID`, which does not support any coding as it does represent no value. Consequently, nothing is written to the passed Java file by this method for the base type `JrpcgenBaseType.VOID`.

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 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.

This applies to all base types except for the following base types:

- `JrpcgenBaseType.VOID` : This type does not support any coding as it does represent no value.
- `JrpcgenBaseType.STRING` : This type does not support coding in a scalar context.
- `JrpcgenBaseType.OPAQUE` : This type does not support coding in a scalar context.

For these base types nothing is written to the passed Java file by this method.

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 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.

This applies to all base types except for the following base types:

- `JrpcgenBaseType.VOID` : This type does not support any coding as it does represent no value.
- `JrpcgenBaseType.STRING` : This type does not support coding in a fixed vector context.

For these base types nothing is written to the passed Java file by this method.

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 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.

This applies to all base types except for the base type `JrpcgenBaseType.VOID`, which does not support any coding as it does represent no value. Consequently, nothing is written to the passed Java file by this method for the base type `JrpcgenBaseType.VOID`.

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 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.

This applies to all base types except for the base type `JrpcgenBaseType.VOID`, for which nothing is written to the passed Java file by ths method.

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.

### writeCodingMethodStem

public JrpcgenJavaFile writeCodingMethodStem(JrpcgenJavaFile javaFile, String xdrStream, String codingType, String typeSpecifier)
Writes the coding method stem for the mapped base type.

Parameters:
  `javaFile` - The Java file where the method stem is going to be placed.
  `xdrStream` - The name of the XDR coding stream.
  `codingType` - The coding type to use, xdrEncode or xdrDecode in most of the cases.
  `typeSpecifier` - The type specifier to append to the coding type, either the Java name or the definition name in most of the cases.
Returns:
  The passed Java file.