/* Copyright (c) 2007 Timothy Wall, All Rights Reserved
*
* The contents of this file is dual-licensed under 2
* alternative Open Source/Free licenses: LGPL 2.1 or later and
* Apache License 2.0. (starting with JNA version 4.0.0).
*
* You can freely decide which license you want to apply to
* the project.
*
* You may obtain a copy of the LGPL License at:
*
* http://www.gnu.org/licenses/licenses.html
*
* A copy is also included in the downloadable source code package
* containing JNA, in file "LGPL2.1".
*
* You may obtain a copy of the Apache License at:
*
* http://www.apache.org/licenses/
*
* A copy is also included in the downloadable source code package
* containing JNA, in file "AL2.0".
*/
package com.sun.jna;
/** Simple wrapper class to identify a wide string argument or return type.
* @author twall@users.sf.net
*/
public final class
WString implements
CharSequence,
Comparable {
private
String string;
public
WString(
String s){
if (
s == null) {
throw new
NullPointerException("String initializer must be non-null");
}
this.
string =
s;
}
@
Override
public
String toString() {
return
string;
}
@
Override
public boolean
equals(
Object o) {
return (
o instanceof
WString) &&
toString().
equals(
o.
toString());
}
@
Override
public int
hashCode() {
return
toString().
hashCode();
}
@
Override
public int
compareTo(
Object o) {
return
toString().
compareTo(
o.
toString());
}
@
Override
public int
length() {
return
toString().
length();
}
@
Override
public char
charAt(int
index) {
return
toString().
charAt(
index);
}
@
Override
public
CharSequence subSequence(int
start, int
end) {
return
toString().
subSequence(
start,
end);
}
}