Text file from the assets folder

Use to_s to get the content of this asset.

Introduced properties

fun error: nullable Error

app :: TextAsset :: error

Error on the last call to load, if any
protected fun error=(error: nullable Error)

app :: TextAsset :: error=

Error on the last call to load, if any
fun load: String

app :: TextAsset :: load

Load this asset
protected fun to_s=(to_s: String)

app :: TextAsset :: to_s=

Text content of this asset

Redefined properties

redef type SELF: TextAsset

app $ TextAsset :: SELF

Type of this instance, automatically specialized in every class
redef fun load: String

linux :: linux $ TextAsset :: load

Load this asset
redef fun load: String

ios :: assets $ TextAsset :: load

Load this asset
redef fun load: String

android :: assets $ TextAsset :: load

Load this asset
redef fun to_s: String

app $ TextAsset :: to_s

Text content of this asset

All properties

fun !=(other: nullable Object): Bool

core :: Object :: !=

Have self and other different values?
fun ==(other: nullable Object): Bool

core :: Object :: ==

Have self and other the same value?
type CLASS: Class[SELF]

core :: Object :: CLASS

The type of the class of self.
type SELF: Object

core :: Object :: SELF

Type of this instance, automatically specialized in every class
protected fun class_factory(name: String): CLASS

core :: Object :: class_factory

Implementation used by get_class to create the specific class.
fun class_name: String

core :: Object :: class_name

The class name of the object.
init defaultinit(path: String)

app :: Asset :: defaultinit

fun error: nullable Error

app :: TextAsset :: error

Error on the last call to load, if any
protected fun error=(error: nullable Error)

app :: TextAsset :: error=

Error on the last call to load, if any
fun get_class: CLASS

core :: Object :: get_class

The meta-object representing the dynamic type of self.
fun hash: Int

core :: Object :: hash

The hash code of the object.
init init

core :: Object :: init

fun inspect: String

core :: Object :: inspect

Developer readable representation of self.
protected fun inspect_head: String

core :: Object :: inspect_head

Return "CLASSNAME:#OBJECTID".
intern fun is_same_instance(other: nullable Object): Bool

core :: Object :: is_same_instance

Return true if self and other are the same instance (i.e. same identity).
fun is_same_serialized(other: nullable Object): Bool

core :: Object :: is_same_serialized

Is self the same as other in a serialization context?
intern fun is_same_type(other: Object): Bool

core :: Object :: is_same_type

Return true if self and other have the same dynamic type.
fun load: String

app :: TextAsset :: load

Load this asset
intern fun object_id: Int

core :: Object :: object_id

An internal hash code for the object based on its identity.
fun output

core :: Object :: output

Display self on stdout (debug only).
intern fun output_class_name

core :: Object :: output_class_name

Display class name on stdout (debug only).
fun path: String

app :: Asset :: path

Path to this asset within the assets folder
protected fun path=(path: String)

app :: Asset :: path=

Path to this asset within the assets folder
fun serialization_hash: Int

core :: Object :: serialization_hash

Hash value use for serialization
intern fun sys: Sys

core :: Object :: sys

Return the global sys object, the only instance of the Sys class.
abstract fun to_jvalue(env: JniEnv): JValue

core :: Object :: to_jvalue

fun to_s: String

core :: Object :: to_s

User readable representation of self.
protected fun to_s=(to_s: String)

app :: TextAsset :: to_s=

Text content of this asset
package_diagram app::TextAsset TextAsset app::Asset Asset app::TextAsset->app::Asset core::Object Object app::Asset->core::Object ...core::Object ... ...core::Object->core::Object

Ancestors

interface Object

core :: Object

The root of the class hierarchy.

Parents

abstract class Asset

app :: Asset

Resource from the assets folder

Class definitions

app $ TextAsset
# Text file from the assets folder
#
# Use `to_s` to get the content of this asset.
class TextAsset
	super Asset

	# Text content of this asset
	redef var to_s = load is lazy

	# Load this asset
	fun load: String do return ""

	# Error on the last call to `load`, if any
	var error: nullable Error = null
end
lib/app/assets.nit:30,1--44,3

linux :: linux $ TextAsset
redef class TextAsset
	redef fun load
	do
		var path = app.assets_dir / path
		var reader = path.to_path.open_ro
		var content = reader.read_all
		reader.close

		var error = reader.last_error
		if error != null then self.error = error

		self.to_s = content
		return content
	end
end
lib/linux/linux.nit:49,1--63,3

ios :: assets $ TextAsset
redef class TextAsset
	redef fun load
	do
		# Find file
		var ns_path = ("assets"/path).to_nsstring
		var path_in_bundle = asset_path(ns_path)
		if path_in_bundle.address_is_null then
			self.error = new Error("TextAsset at '{path}' not found")
			self.to_s = ""
			return ""
		end

		# Load content
		var text = asset_content(path_in_bundle)
		if text.address_is_null then
			self.error = new Error("Failed to read content of TextAsset at '{path}'")
			self.to_s = ""
			return ""
		end

		return text.to_s
	end
end
lib/ios/assets.nit:21,1--43,3

android :: assets $ TextAsset
redef class TextAsset
	redef fun load
	do
		jni_env.push_local_frame 8

		var manager = app.asset_manager
		var stream = manager.open(path)
		if stream.is_java_null then
			self.error = new Error("Failed to open asset at '{path}'")
			jni_env.pop_local_frame
			self.to_s = ""
			return ""
		end

		var text = stream.read_all
		stream.close
		if text.is_java_null then
			self.error = new Error("Failed to read content of asset file at '{path}'")
			jni_env.pop_local_frame
			self.to_s = ""
			return ""
		end

		var content = text.to_s
		jni_env.pop_local_frame
		self.to_s = content
		return content
	end
end
lib/android/assets.nit:23,1--51,3