KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > eclipse > swt > internal > mozilla > nsString


1 /* ***** BEGIN LICENSE BLOCK *****
2  * Version: MPL 1.1
3  *
4  * The contents of this file are subject to the Mozilla Public License Version
5  * 1.1 (the "License"); you may not use this file except in compliance with
6  * the License. You may obtain a copy of the License at
7  * http://www.mozilla.org/MPL/
8  *
9  * Software distributed under the License is distributed on an "AS IS" basis,
10  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11  * for the specific language governing rights and limitations under the
12  * License.
13  *
14  * The Original Code is Mozilla Communicator client code, released March 31, 1998.
15  *
16  * The Initial Developer of the Original Code is
17  * Netscape Communications Corporation.
18  * Portions created by Netscape are Copyright (C) 1998-1999
19  * Netscape Communications Corporation. All Rights Reserved.
20  *
21  * Contributor(s):
22  *
23  * IBM
24  * - Binding to permit interfacing between Mozilla and SWT
25  * - Copyright (C) 2003 IBM Corp. All Rights Reserved.
26  *
27  * ***** END LICENSE BLOCK ***** */

28 package org.eclipse.swt.internal.mozilla;
29
30 public class nsString {
31     private int handle;
32     
33 public nsString() {
34     handle = XPCOM.nsString_new();
35 }
36
37 public nsString(String JavaDoc string) {
38     if (string != null) {
39        char[] aString = new char[string.length() + 1];
40        string.getChars(0, string.length(), aString, 0);
41        handle = XPCOM.nsString_new(aString);
42     }
43 }
44
45 public int getAddress() {
46     return handle;
47 }
48     
49 public String JavaDoc toString() {
50     if (handle == 0) return null;
51     int length = XPCOM.nsString_Length(handle);
52     int buffer = XPCOM.nsString_get(handle);
53     char[] dest = new char[length];
54     XPCOM.memmove(dest, buffer, length * 2);
55     return new String JavaDoc(dest);
56 }
57     
58 public void dispose() {
59     if (handle == 0) return;
60     XPCOM.nsString_delete(handle);
61     handle = 0;
62 }
63 }
Popular Tags