diff options
Diffstat (limited to 'kdejava/koala/org/kde/koala/KStringHandler.java')
-rw-r--r-- | kdejava/koala/org/kde/koala/KStringHandler.java | 407 |
1 files changed, 407 insertions, 0 deletions
diff --git a/kdejava/koala/org/kde/koala/KStringHandler.java b/kdejava/koala/org/kde/koala/KStringHandler.java new file mode 100644 index 00000000..8b01ca9f --- /dev/null +++ b/kdejava/koala/org/kde/koala/KStringHandler.java @@ -0,0 +1,407 @@ +//Auto-generated by kalyptus. DO NOT EDIT. +package org.kde.koala; + +import org.kde.qt.Qt; +import org.kde.qt.QtSupport; +import org.kde.qt.QRegExp; +import java.util.ArrayList; +import org.kde.qt.QFontMetrics; + +/** + + This class contains utility functions for handling strings. + This class is <b>not</b> a substitute for the String class. What + I tried to do with this class is provide an easy way to + cut/slice/splice words inside sentences in whatever order desired. + While the main focus of this class are words (ie characters + separated by spaces/tabs), the two core functions here ( split() + and join() ) will function given any char to use as a separator. + This will make it easy to redefine what a 'word' means in the + future if needed. + I freely stole some of the function names from python. I also think + some of these were influenced by mIRC (yes, believe it if you will, I + used to write a LOT of scripts in mIRC). + The ranges are a fairly powerful way of getting/stripping words from + a string. These ranges function, for the large part, as they would in + python. See the word(String, String ) and remword(String, uint) functions for more detail. + This class contains no data members of its own. All strings are cut + on the fly and returned as new qstrings/qstringlists. + Quick example on how to use: + <pre> + KStringHandler kstr; + String line = "This is a test of the strings"; + cout << "1> " << kstr.word( line , "4:" ) << "\n"; + cout << "2> " << kstr.remrange( line , "2:5" ) << "\n"; + cout << "2> " << kstr.reverse( line ) << "\n"; + cout << "2> " << kstr.center( kstr.word( line , 4 ) , 15 ) << "\n"; + </pre> + and so forth. + @author Ian Zepp <icszepp@islc.net> + + @short Class for manipulating words and sentences in strings. + @see KShell + +*/ +public class KStringHandler implements QtSupport { + private long _qt; + private boolean _allocatedInJavaWorld = true; + protected KStringHandler(Class dummy){} + + public KStringHandler() { + newKStringHandler(); + } + private native void newKStringHandler(); + /** Returns a range of words from that string. + Ie: + + <li> + "0" returns the very first word + </li> + + <li> + "0:" returns the first to the last word + </li> + + <li> + "0:3" returns the first to fourth words + </li> + + <li> + ":3" returns everything up to the fourth word + </li> + If you grok python, you're set. + @param text the string to search for the words + @param range the words to return (see description) + @return the words, or an empty string if not found + + @short Returns a range of words from that string. + */ + public static native String word(String text, String range); + /** Inserts a word into the string, and returns + a new string with the word included. the first + index is zero (0). If there are not <code>pos</code> words in the original + string, the new word will be appended to the end. + @param text the original text + @param word the word to insert + @param pos the position (in words) for the new word + @return the resulting string + + @short Inserts a word into the string, and returns a new string with the word included. + */ + public static native String insword(String text, String word, int pos); + /** Replaces a word in the string, and returns + a new string with the word included. the first + index is zero (0). If there are not <code>pos</code> words in the original + string, the new word will be appended to the end. + @param text the original text + @param word the word to insert + @param pos the position (in words) for the new word + @return the resulting string + + @short Replaces a word in the string, and returns a new string with the word included. + */ + public static native String setword(String text, String word, int pos); + /** Removes a word or ranges of words from the string, + and returns a new string. The ranges definitions + follow the definitions for the word() function. + + <li> + "0" removes the very first word + </li> + + <li> + "0:" removes the first the the last word + </li> + + <li> + "0:3" removes the first to fourth words + </li> + + <li> + ":3" removes everything up to the fourth word + </li> + @param text the original text + @param range the words to remove (see description) + @return the resulting string + + @short Removes a word or ranges of words from the string, and returns a new string. + */ + public static native String remrange(String text, String range); + /** Removes a word at the given index, and returns a + new string. The first index is zero (0). + @param text the original text + @param pos the position (in words) of thw word to delete + @return the resulting string + + @short Removes a word at the given index, and returns a new string. + */ + public static native String remword(String text, int pos); + /** Removes a matching word from the string, and returns + a new string. Note that only ONE match is removed. + @param text the original text + @param word the word to remove + @return the resulting string + + @short Removes a matching word from the string, and returns a new string. + */ + public static native String remword(String text, String word); + /** Capitalizes each word in the string + "hello there" becomes "Hello There" (string) + @param text the text to capitalize + @return the resulting string + + @short Capitalizes each word in the string "hello there" becomes "Hello There" (string) + */ + public static native String capwords(String text); + /** Capitalizes each word in the list + [hello, there] becomes [Hello, There] (list) + @param list the list to capitalize + @return the resulting list + + @short Capitalizes each word in the list [hello, there] becomes [Hello, There] (list) + */ + public static native ArrayList capwords(String[] list); + /** Reverses the order of the words in a string + "hello there" becomes "there hello" (string) + @param text the text to reverse + @return the resulting string + + @short Reverses the order of the words in a string "hello there" becomes "there hello" (string) + */ + public static native String reverse(String text); + /** Reverses the order of the words in a list + [hello, there] becomes [there, hello] (list) + @param list the list to reverse + @return the resulting list + + @short Reverses the order of the words in a list [hello, there] becomes [there, hello] (list) + */ + public static native ArrayList reverse(String[] list); + /** Centers a string and returns a string at least 'width' characters + wide. + If the string is longer than the <code>width</code>, the original + string is returned. It is never truncated. + @param text the text to justify + @param width the desired width of the new string + @return the resulting string + + @short Centers a string and returns a string at least 'width' characters wide. + */ + public static native String center(String text, int width); + /** Substitute characters at the beginning of a string by "...". + @param str is the string to modify + @param maxlen is the maximum length the modified string will have + If the original string is shorter than "maxlen", it is returned verbatim + @return the modified string + + @short Substitute characters at the beginning of a string by ". + */ + public static native String lsqueeze(String str, int maxlen); + public static native String lsqueeze(String str); + /** Substitute characters at the beginning of a string by "...". Similar to + method above, except that it truncates based on pixel width rather than + the number of characters + @param name is the string to modify + @param fontMetrics is the font metrics to use to calculate character sizes + @param maxlen is the maximum length in ems the modified string will have + If the original string is shorter than "maxlen", it is returned verbatim + @return the modified string + + @short Substitute characters at the beginning of a string by ". + */ + public static native String lEmSqueeze(String name, QFontMetrics fontMetrics, int maxlen); + public static native String lEmSqueeze(String name, QFontMetrics fontMetrics); + /** Substitute characters at the beginning of a string by "...". Similar to + method above, except that maxlen is the width in pixels to truncate to + @param name is the string to modify + @param fontMetrics is the font metrics to use to calculate character sizes + @param maxPixels is the maximum pixel length the modified string will have + If the original string is shorter than "maxlen", it is returned verbatim + @return the modified string + + @short Substitute characters at the beginning of a string by ". + */ + public static native String lPixelSqueeze(String name, QFontMetrics fontMetrics, int maxPixels); + /** Substitute characters at the middle of a string by "...". + @param str is the string to modify + @param maxlen is the maximum length the modified string will have + If the original string is shorter than "maxlen", it is returned verbatim + @return the modified string + + @short Substitute characters at the middle of a string by ". + */ + public static native String csqueeze(String str, int maxlen); + public static native String csqueeze(String str); + /** Substitute characters in the middle of a string by "...". Similar to + method above, except that it truncates based on pixel width rather than + the number of characters + @param name is the string to modify + @param fontMetrics is the font metrics to use to calculate character sizes + @param maxlen is the maximum length in ems the modified string will have + If the original string is shorter than "maxlen", it is returned verbatim + @return the modified string + + @short Substitute characters in the middle of a string by ". + */ + public static native String cEmSqueeze(String name, QFontMetrics fontMetrics, int maxlen); + public static native String cEmSqueeze(String name, QFontMetrics fontMetrics); + /** Substitute characters in the middle of a string by "...". Similar to + method above, except that maxlen is the width in pixels to truncate to + @param name is the string to modify + @param fontMetrics is the font metrics to use to calculate character sizes + @param maxPixels is the maximum pixel length the modified string will have + If the original string is shorter than "maxlen", it is returned verbatim + @return the modified string + + @short Substitute characters in the middle of a string by ". + */ + public static native String cPixelSqueeze(String name, QFontMetrics fontMetrics, int maxPixels); + /** Substitute characters at the end of a string by "...". + @param str is the string to modify + @param maxlen is the maximum length the modified string will have + If the original string is shorter than "maxlen", it is returned verbatim + @return the modified string + + @short Substitute characters at the end of a string by ". + */ + public static native String rsqueeze(String str, int maxlen); + public static native String rsqueeze(String str); + /** Substitute characters at the end of a string by "...". Similar to + method above, except that it truncates based on pixel width rather than + the number of characters + @param name is the string to modify + @param fontMetrics is the font metrics to use to calculate character sizes + @param maxlen is the maximum length in ems the modified string will have + If the original string is shorter than "maxlen", it is returned verbatim + @return the modified string + + @short Substitute characters at the end of a string by ". + */ + public static native String rEmSqueeze(String name, QFontMetrics fontMetrics, int maxlen); + public static native String rEmSqueeze(String name, QFontMetrics fontMetrics); + /** Substitute characters at the end of a string by "...". Similar to + method above, except that maxlen is the width in pixels to truncate to + @param name is the string to modify + @param fontMetrics is the font metrics to use to calculate character sizes + @param maxPixels is the maximum pixel length the modified string will have + If the original string is shorter than "maxlen", it is returned verbatim + @return the modified string + + @short Substitute characters at the end of a string by ". + */ + public static native String rPixelSqueeze(String name, QFontMetrics fontMetrics, int maxPixels); + /** + Match a filename. + @param filename is the real decoded filename (or dirname + without trailing '/'). + @param pattern is a pattern like .txt, .tar.gz, Makefile., README, etc. + Patterns with two asterisks like "*.pk" are not supported. + @return true if the given filename matches the given pattern + + @short Match a filename. + */ + public static native boolean matchFileName(String filename, String pattern); + /** + Split a String into an ArrayList in a similar fashion to the static + ArrayList function in Qt, except you can specify a maximum number + of tokens. If max is specified (!= 0) then only that number of tokens + will be extracted. The final token will be the remainder of the string. + Example: + <pre> + perlSplit("__", "some__string__for__you__here", 4) + ArrayList contains: "some", "string", "for", "you__here" + </pre> + @param sep is the string to use to delimit s. + @param s is the input string + @param max is the maximum number of extractions to perform, or 0. + @return An ArrayList containing tokens extracted from s. + + @short Split a String into an ArrayList in a similar fashion to the static ArrayList function in Qt, except you can specify a maximum number of tokens. + */ + public static native ArrayList perlSplit(String sep, String s, int max); + public static native ArrayList perlSplit(String sep, String s); + /** + Split a String into an ArrayList in a similar fashion to the static + ArrayList function in Qt, except you can specify a maximum number + of tokens. If max is specified (!= 0) then only that number of tokens + will be extracted. The final token will be the remainder of the string. + Example: + <pre> + perlSplit(' ', "kparts reaches the parts other parts can't", 3) + ArrayList contains: "kparts", "reaches", "the parts other parts can't" + </pre> + @param sep is the character to use to delimit s. + @param s is the input string + @param max is the maximum number of extractions to perform, or 0. + @return An ArrayList containing tokens extracted from s. + + @short Split a String into an ArrayList in a similar fashion to the static ArrayList function in Qt, except you can specify a maximum number of tokens. + */ + public static native ArrayList perlSplit(char sep, String s, int max); + public static native ArrayList perlSplit(char sep, String s); + /** + Split a String into an ArrayList in a similar fashion to the static + ArrayList function in Qt, except you can specify a maximum number + of tokens. If max is specified (!= 0) then only that number of tokens + will be extracted. The final token will be the remainder of the string. + Example: + <pre> + perlSplit(QRegExp("[! ]", "Split me up ! I'm bored ! OK ?", 3) + ArrayList contains: "Split", "me", "up ! I'm bored, OK ?" + </pre> + @param sep is the regular expression to use to delimit s. + @param s is the input string + @param max is the maximum number of extractions to perform, or 0. + @return An ArrayList containing tokens extracted from s. + + @short Split a String into an ArrayList in a similar fashion to the static ArrayList function in Qt, except you can specify a maximum number of tokens. + */ + public static native ArrayList perlSplit(QRegExp sep, String s, int max); + public static native ArrayList perlSplit(QRegExp sep, String s); + /** + This method auto-detects URLs in strings, and adds HTML markup to them + so that richtext or HTML-enabled widgets (such as KActiveLabel) + will display the URL correctly. + @param text the string which may contain URLs + @return the resulting text + + @short This method auto-detects URLs in strings, and adds HTML markup to them so that richtext or HTML-enabled widgets (such as KActiveLabel) will display the URL correctly. + */ + public static native String tagURLs(String text); + /** + Obscure string by using a simple symmetric encryption. Applying the + function to a string obscured by this function will result in the original + string. + The function can be used to obscure passwords stored to configuration + files. Note that this won't give you any more security than preventing + that the password is directly copied and pasted. + @param str string to be obscured + @return obscured string + + @short Obscure string by using a simple symmetric encryption. + */ + public static native String obscure(String str); + /** + Guess whether a string is UTF8 encoded. + @param str the string to check + @return true if UTF8. If false, the string is probably in Local8Bit. + + @short Guess whether a string is UTF8 encoded. + */ + public static native boolean isUtf8(String str); + /** + Construct String from a c string, guessing whether it is UTF8- or + Local8Bit-encoded. + @param str the input string + @return the (hopefully correctly guessed) String representation of <code>str</code> + + @short Construct String from a c string, guessing whether it is UTF8- or Local8Bit-encoded. + */ + public static native String from8Bit(String str); + /** Deletes the wrapped C++ instance */ + protected native void finalize() throws InternalError; + /** Delete the wrapped C++ instance ahead of finalize() */ + public native void dispose(); + /** Has the wrapped C++ instance been deleted? */ + public native boolean isDisposed(); +} |