public class SampUtils extends Object
Modifier and Type | Field and Description |
---|---|
static String |
LOCALHOST_PROP
Property which can be used to set name used for localhost in server
endpoints.
|
Modifier and Type | Method and Description |
---|---|
static void |
checkList(List list)
Checks that a given List is legal for use in a SAMP context.
|
static void |
checkMap(Map map)
Checks that a given Map is legal for use in a SAMP context.
|
static void |
checkObject(Object obj)
Checks that a given object is legal for use in a SAMP context.
|
static void |
checkString(String string)
Checks that a given String is legal for use in a SAMP context.
|
static void |
checkUrl(String url)
Checks that a string is a legal URL.
|
static boolean |
decodeBoolean(String s)
Returns the boolean value for a SAMP boolean string.
|
static double |
decodeFloat(String s)
Returns the double value for a SAMP float string.
|
static int |
decodeInt(String s)
Returns the integer value for a SAMP int string.
|
static long |
decodeLong(String s)
Returns the integer value as a
long for a SAMP int
string. |
static String |
encodeBoolean(boolean b)
Returns a SAMP boolean string representation of a boolean value.
|
static String |
encodeFloat(double d)
Returns a SAMP float string representation of a floating point
value.
|
static String |
encodeInt(int i)
Returns a SAMP int string representation of an integer.
|
static String |
encodeLong(long i)
Returns a SAMP int string representation of a long integer.
|
static URL |
fileToUrl(File file)
Turns a File into a URL.
|
static String |
formatObject(Object obj,
int indent)
Pretty-prints a SAMP object.
|
static Object |
fromJson(String str)
Parses JSON text to give a SAMP object.
|
static String |
getLocalhost()
Returns a string denoting the local host to be used for communicating
local server endpoints and so on.
|
static String |
getSampVersion()
Returns a string giving the version of the SAMP standard which this
software implements.
|
static String |
getSoftwareVersion()
Returns a string giving the version of this software package.
|
static int |
getUnusedPort(int startPort)
Returns an unused port number on the local host.
|
static boolean |
isStringChar(char c)
Indicates whether a given character is legal to include in a SAMP
string.
|
static Object |
parseValue(String str)
Parses a command-line string as a SAMP object.
|
static String |
toJson(Object item,
boolean multiline)
Serializes a SAMP object to a JSON string.
|
static String |
toString(Client client)
Returns a string representation of a client object.
|
static String |
uriDecode(String text)
Reverses URI-style character escaping (%xy) on a string.
|
static String |
uriEncode(String text)
Performs URI-style character escaping (%xy) on a string.
|
static File |
urlToFile(URL url)
Attempts to interpret a URL as a file.
|
public static final String LOCALHOST_PROP
getLocalhost()
,
Constant Field Valuespublic static String encodeInt(int i)
i
- integer valuepublic static int decodeInt(String s)
s
- SAMP int stringNumberFormatException
- if conversion failspublic static String encodeLong(long i)
i
- integer valuepublic static long decodeLong(String s)
long
for a SAMP int
string.s
- SAMP int stringNumberFormatException
- if conversion failspublic static String encodeFloat(double d)
d
- double valueIllegalArgumentException
- if d
is NaN or infinitepublic static double decodeFloat(String s)
s
- SAMP float stringNumberFormatException
- if conversion failspublic static String encodeBoolean(boolean b)
b
- boolean valuepublic static boolean decodeBoolean(String s)
s
- SAMP boolean strings
is equal to zeropublic static void checkObject(Object obj)
obj
- object to checkDataException
- in case of an errorpublic static void checkMap(Map map)
map
- map to checkDataException
- in case of an errorcheckObject(java.lang.Object)
public static void checkList(List list)
list
- list to checkDataException
- in case of errorcheckObject(java.lang.Object)
public static void checkString(String string)
string
- string to checkDataException
- in case of errorpublic static boolean isStringChar(char c)
public static void checkUrl(String url)
url
- string to checkDataException
- if url
is not a legal URLpublic static String toString(Client client)
client
- client objectpublic static String formatObject(Object obj, int indent)
obj
- SAMP-friendly objectindent
- base indent for text blockpublic static Object parseValue(String str)
str
- command-line argumentpublic static String getLocalhost()
The value returned by default is the loopback address, "127.0.0.1".
However this behaviour can be overridden by setting the
LOCALHOST_PROP
system property to the string which should
be returned instead.
This may be necessary if the loopback address is not appropriate,
for instance in the case of multiple configured loopback interfaces(?)
or where SAMP communication is required across different machines.
There are two special values which may be used for this property:
[hostname]
:
uses the fully qualified domain name of the host[hostnumber]
:
uses the IP number of the hostIn JSAMP version 0.3-1 and prior versions, the [hostname] behaviour was the default. Although this might be seen as more correct, in practice it could cause a lot of problems with DNS configurations which are incorrect or unstable (common in laptops outside their usual networks). See, for instance, AstroGrid bugzilla tickets 1799, 2151.
In JSAMP version 0.3-1 and prior versions, the property was
named samp.localhost
rather than
jsamp.localhost
. This name is still accepted for
backwards compatibility.
public static int getUnusedPort(int startPort) throws IOException
startPort
- suggested port number; may or may not be usedIOException
public static URL fileToUrl(File file)
file://localhost/abs-path
" rather than
"file:abs-or-rel-path
".
For non-ASCII characters, UTF-8 encoding is used.file
- filepublic static String uriDecode(String text)
URLDecoder
,
this does not turn "+" characters into spaces.
For non-ASCII characters, UTF-8 encoding is used.text
- escaped textpublic static String uriEncode(String text)
URLEncoder
,
this encodes spaces as "%20" and not "+".
For non-ASCII characters, UTF-8 encoding is used.text
- unescaped textpublic static File urlToFile(URL url)
url
- URL, may or may not be file: protocolpublic static Object fromJson(String str)
str
- string to parsepublic static String toJson(Object item, boolean multiline)
item
- to serializemultiline
- true for formatted multiline output, false for a
single linepublic static String getSampVersion()
public static String getSoftwareVersion()
Copyright © 2008–2024. All rights reserved.