SparkleShare/SharpSSH/java/String.cs
2010-07-15 20:41:37 +01:00

178 lines
3.2 KiB
C#

using System;
using Text = System.Text;
using Str = System.String;
namespace Tamir.SharpSsh.java
{
/// <summary>
/// Summary description for String.
/// </summary>
public class String
{
string s;
public String(string s)
{
this.s=s;
}
public String(object o):this(o.ToString())
{
}
public String(byte[] arr):this(getString(arr))
{
}
public String(byte[] arr, int offset, int len):this(getString(arr, offset, len))
{
}
public static implicit operator String (string s1)
{
if(s1==null) return null;
return new String(s1);
}
public static implicit operator Str (String s1)
{
if(s1==null) return null;
return s1.ToString();
}
public static Tamir.SharpSsh.java.String operator+(Tamir.SharpSsh.java.String s1, Tamir.SharpSsh.java.String s2)
{
return new Tamir.SharpSsh.java.String(s1.ToString()+s2.ToString());
}
public byte[] getBytes()
{
return String.getBytes(this);
}
public override string ToString()
{
return s;
}
public String toLowerCase()
{
return this.ToString().ToLower();
}
public bool startsWith(string prefix)
{
return this.ToString().StartsWith(prefix);
}
public int indexOf(string sub)
{
return this.ToString().IndexOf(sub);
}
public int indexOf(char sub)
{
return this.ToString().IndexOf(sub);
}
public int indexOf(char sub, int i)
{
return this.ToString().IndexOf(sub, i);
}
public char charAt(int i)
{
return s[i];
}
public String substring(int start, int end)
{
int len = end - start;
return this.ToString().Substring(start, len);
}
public String subString(int start, int len)
{
return substring(start, len);
}
public String substring(int len)
{
return this.ToString().Substring(len);
}
public String subString(int len)
{
return substring(len);
}
public int Length()
{
return this.ToString().Length;
}
public int length()
{
return Length();
}
public bool endsWith(string str)
{
return s.EndsWith(str);
}
public int lastIndexOf(string str)
{
return s.LastIndexOf(str);
}
public int lastIndexOf(char c)
{
return s.LastIndexOf(c);
}
public bool equals(object o)
{
return this.ToString().Equals(o.ToString());
}
public override bool Equals(object obj)
{
return this.equals (obj);
}
public override int GetHashCode()
{
return s.GetHashCode ();
}
public static string getString(byte[] arr)
{
return getString(arr, 0, arr.Length);
}
public static string getString(byte[] arr, int offset, int len)
{
return Text.Encoding.Default.GetString(arr, offset, len);
}
public static string getStringUTF8(byte[] arr)
{
return getStringUTF8(arr, 0, arr.Length);
}
public static string getStringUTF8(byte[] arr, int offset, int len)
{
return Text.Encoding.UTF8.GetString(arr, offset, len);
}
public static byte[] getBytes(string str)
{
return getBytesUTF8( str );
}
public static byte[] getBytesUTF8(string str)
{
return Text.Encoding.UTF8.GetBytes( str );
}
}
}