Return a negative integer, zero, or a positive integer if this object is less than, equal to, or greater than the specified object:
this < that => <0
this == that => 0
this > that => >0
This method may also be accessed via the <
<=
<=>
>=
and >
shortcut operators. If not overridden the default
implementation compares the toStr
representations. Also see docLang.
Examples:
3.compare(8) => -1
8.compare(3) => 1
8.compare(8) => 0
3 <=> 8 => -1 // shortcut for 3.compare(8)
Compare this object to the specified for equality. This
method may be accessed via the == and != shortcut operators.
If not overridden the default implementation compares for
reference equality using the === operator. If this method
is overridden, then hash() must also be overridden such that
any two objects which return true for equals() must return
the same value for hash(). This method must accept null
and
return false.
Return a unique hashcode for this object. If a class overrides hash() then it must ensure if equals() returns true for any two objects then they have same hash code.
Get an immutable representation of this instance or throw NotImmutableErr if this object cannot be represented as an immutable:
Return a string representation of this object.
Trap a dynamic call for handling. Dynamic calls are invoked with the -> shortcut operator:
a->x a.trap("x", null)
a->x() a.trap("x", null)
a->x = b a.trap("x", [b])
a->x(b) a.trap("x", [b])
a->x(b, c) a.trap("x", [b, c])
The default implementation provided by Obj attempts to use reflection. If name maps to a method, it is invoked with the specified arguments. If name maps to a field and args.size is zero, get the field. If name maps to a field and args.size is one, set the field and return args[0]. Otherwise throw UnknownSlotErr.
This method called whenever an it-block is applied to an
object. The default implementation calls the function with this
,
and then returns this
.
Static
echoWrite x.toStr
to standard output followed by newline. If x
is null then print "null". If no argument is provided then
print an empty line.
Optional
x: JsObjStatic
fromDecode a HTTP quoted string according to RFC 2616 Section 2.2. The given string must be wrapped in quotes. See toQuotedStr.
Static
headersStatic
isReturn if the specified string is a valid HTTP token production which is any ASCII character which is not a control char or a separator. The separators characters are:
"(" | ")" | "<" | ">" | "@" |
"," | ";" | ":" | "\" | <"> |
"/" | "[" | "]" | "?" | "=" |
"{" | "}" | SP | HT
Static
isReturn if given char unicode point is allowable within the HTTP token production. See isToken.
Static
jsGenerate the method invocation code used to boostrap into
JavaScript from a webpage. This must be called inside the <head>
tag for the page. The main method will be invoked using the
onLoad
DOM event.
The main
argument can be either a type or method. If no
method is specified, main
is used. If the method is not
static, a new instance of type is created:
"foo::Instance" => Instance().main()
"foo::Instance.bar" => Instance().bar()
"foo::Static" => Static.main()
"foo::Static.bar" => Static.bar()
If env
is specified, then vars will be added to and
available from sys::Env.vars on
client-side.
Static
makeStatic
makeStatic
makeStatic
makeGiven a set of headers, wrap the specified input stream to read the content body:
gzip
then wrap via sys::Zip.gzipInStreamin
directlyIf a stream is returned, then it is automatically configured with the correct content encoding based on the Content-Type.
Static
makeGiven a set of headers, wrap the specified output stream to write the content body:
If a stream is returned, then it is automatically configured with the correct content encoding based on the Content-Type.
Static
makeStatic
makeStatic
parseParse a series of HTTP headers according to RFC 2616 section 4.2. The final CRLF which terminates headers is consumed with the stream positioned immediately following. The headers are returned as a case insensitive map. Throw ParseErr if headers are malformed.
Static
parseParse a list of comma separated tokens. Any leading or trailing whitespace is trimmed from the list of tokens.
Static
parseParse a multipart/form-data input stream. For each part in the stream call the given callback function with the part's headers and an input stream used to read the part's body. Each callback must completely drain the input stream to prepare for the next part. Also see WebReq.parseMultiPartForm.
Static
parseGiven an HTTP header that uses q values, return a map of name/q-value pairs. This map has a def value of 0.
Example:
compress,gzip => ["compress":1f, "gzip":1f]
compress;q=0.5,gzip;q=0.0 => ["compress":0.5f, "gzip":0.0f]
Static
toReturn the specified string as a HTTP quoted string according to RFC 2616 Section 2.2. The result is wrapped in quotes. Throw ArgErr if any character is outside of the ASCII range of 0x20 to 0x7e. The quote char itself is backslash escaped. See fromQuotedStr.
WebUtil encapsulates several useful utility web methods. Also see sys::MimeType and its utility methods.