//
// In order to convert some functionality to Visual C#, the Java Language Conversion Assistant
// creates "support classes" that duplicate the original functionality.
//
// Support classes replicate the functionality of the original code, but in some cases they are
// substantially different architecturally. Although every effort is made to preserve the
// original architecture of the application in the converted project, the user should be aware that
// the primary goal of these support classes is to replicate functionality, and that at times
// the architecture of the resulting solution may differ somewhat.
//
using System;
///
/// Contains conversion support elements such as classes, interfaces and static methods.
///
public class SupportClass
{
///
/// Converts an array of sbytes to an array of bytes
///
/// The array of sbytes to be converted
/// The new array of bytes
public static byte[] ToByteArray(sbyte[] sbyteArray)
{
byte[] byteArray = null;
if (sbyteArray != null)
{
byteArray = new byte[sbyteArray.Length];
for(int index=0; index < sbyteArray.Length; index++)
byteArray[index] = (byte) sbyteArray[index];
}
return byteArray;
}
///
/// Converts a string to an array of bytes
///
/// The string to be converted
/// The new array of bytes
public static byte[] ToByteArray(System.String sourceString)
{
return System.Text.UTF8Encoding.UTF8.GetBytes(sourceString);
}
///
/// Converts a array of object-type instances to a byte-type array.
///
/// Array to convert.
/// An array of byte type elements.
public static byte[] ToByteArray(System.Object[] tempObjectArray)
{
byte[] byteArray = null;
if (tempObjectArray != null)
{
byteArray = new byte[tempObjectArray.Length];
for (int index = 0; index < tempObjectArray.Length; index++)
byteArray[index] = (byte)tempObjectArray[index];
}
return byteArray;
}
/*******************************/
///
/// Performs an unsigned bitwise right shift with the specified number
///
/// Number to operate on
/// Ammount of bits to shift
/// The resulting number from the shift operation
public static int URShift(int number, int bits)
{
if ( number >= 0)
return number >> bits;
else
return (number >> bits) + (2 << ~bits);
}
///
/// Performs an unsigned bitwise right shift with the specified number
///
/// Number to operate on
/// Ammount of bits to shift
/// The resulting number from the shift operation
public static int URShift(int number, long bits)
{
return URShift(number, (int)bits);
}
///
/// Performs an unsigned bitwise right shift with the specified number
///
/// Number to operate on
/// Ammount of bits to shift
/// The resulting number from the shift operation
public static long URShift(long number, int bits)
{
if ( number >= 0)
return number >> bits;
else
return (number >> bits) + (2L << ~bits);
}
///
/// Performs an unsigned bitwise right shift with the specified number
///
/// Number to operate on
/// Ammount of bits to shift
/// The resulting number from the shift operation
public static long URShift(long number, long bits)
{
return URShift(number, (int)bits);
}
/*******************************/
///
/// This method returns the literal value received
///
/// The literal to return
/// The received value
public static long Identity(long literal)
{
return literal;
}
///
/// This method returns the literal value received
///
/// The literal to return
/// The received value
public static ulong Identity(ulong literal)
{
return literal;
}
///
/// This method returns the literal value received
///
/// The literal to return
/// The received value
public static float Identity(float literal)
{
return literal;
}
///
/// This method returns the literal value received
///
/// The literal to return
/// The received value
public static double Identity(double literal)
{
return literal;
}
/*******************************/
///
/// Copies an array of chars obtained from a String into a specified array of chars
///
/// The String to get the chars from
/// Position of the String to start getting the chars
/// Position of the String to end getting the chars
/// Array to return the chars
/// Position of the destination array of chars to start storing the chars
/// An array of chars
public static void GetCharsFromString(System.String sourceString, int sourceStart, int sourceEnd, char[] destinationArray, int destinationStart)
{
int sourceCounter;
int destinationCounter;
sourceCounter = sourceStart;
destinationCounter = destinationStart;
while (sourceCounter < sourceEnd)
{
destinationArray[destinationCounter] = (char) sourceString[sourceCounter];
sourceCounter++;
destinationCounter++;
}
}
/*******************************/
///
/// Sets the capacity for the specified ArrayList
///
/// The ArrayList which capacity will be set
/// The new capacity value
public static void SetCapacity(System.Collections.ArrayList vector, int newCapacity)
{
if (newCapacity > vector.Count)
vector.AddRange(new Array[newCapacity-vector.Count]);
else if (newCapacity < vector.Count)
vector.RemoveRange(newCapacity, vector.Count - newCapacity);
vector.Capacity = newCapacity;
}
/*******************************/
///
/// Receives a byte array and returns it transformed in an sbyte array
///
/// Byte array to process
/// The transformed array
public static sbyte[] ToSByteArray(byte[] byteArray)
{
sbyte[] sbyteArray = null;
if (byteArray != null)
{
sbyteArray = new sbyte[byteArray.Length];
for(int index=0; index < byteArray.Length; index++)
sbyteArray[index] = (sbyte) byteArray[index];
}
return sbyteArray;
}
}