Something that can be cloned

This interface introduces the clone method used to duplicate an instance Its specific semantic is left to the subclasses.

Introduced properties

abstract fun clone: SELF

core :: Cloneable :: clone

Duplicate self

Redefined properties

redef type SELF: Cloneable

core $ Cloneable :: SELF

Type of this instance, automatically specialized in every class

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.
abstract fun clone: SELF

core :: Cloneable :: clone

Duplicate self
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

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.
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 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.
package_diagram core::Cloneable Cloneable core::Object Object core::Cloneable->core::Object core::Array Array core::Array->core::Cloneable core::ArrayMap ArrayMap core::ArrayMap->core::Cloneable core::Set Set core::Set->core::Cloneable core::DisjointSet DisjointSet core::DisjointSet->core::Cloneable core::Text Text core::Text->core::Cloneable poset::POSet POSet poset::POSet->core::Cloneable matrix::Matrix Matrix matrix::Matrix->core::Cloneable ordered_tree::OrderedTree OrderedTree ordered_tree::OrderedTree->core::Cloneable core::ArrayCmp ArrayCmp core::ArrayCmp->core::Array pthreads::ConcurrentArray ConcurrentArray pthreads::ConcurrentArray->core::Array json::JsonArray JsonArray json::JsonArray->core::Array geometry::BoxedArray BoxedArray geometry::BoxedArray->core::Array nitcorn::Interfaces Interfaces nitcorn::Interfaces->core::Array nitcorn::VirtualHosts VirtualHosts nitcorn::VirtualHosts->core::Array core::ArrayCmp... ... core::ArrayCmp...->core::ArrayCmp pthreads::ConcurrentArray... ... pthreads::ConcurrentArray...->pthreads::ConcurrentArray json::JsonArray... ... json::JsonArray...->json::JsonArray geometry::BoxedArray... ... geometry::BoxedArray...->geometry::BoxedArray nitcorn::Interfaces... ... nitcorn::Interfaces...->nitcorn::Interfaces nitcorn::VirtualHosts... ... nitcorn::VirtualHosts...->nitcorn::VirtualHosts core::ArraySet ArraySet core::ArraySet->core::Set core::HashSet HashSet core::HashSet->core::Set dummy_array::DummyArray DummyArray dummy_array::DummyArray->core::Set core::ArraySet... ... core::ArraySet...->core::ArraySet core::HashSet... ... core::HashSet...->core::HashSet dummy_array::DummyArray... ... dummy_array::DummyArray...->dummy_array::DummyArray core::FlatText FlatText core::FlatText->core::Text core::String String core::String->core::Text core::Buffer Buffer core::Buffer->core::Text core::U16String U16String core::U16String->core::Text core::FlatText... ... core::FlatText...->core::FlatText core::String... ... core::String...->core::String core::Buffer... ... core::Buffer...->core::Buffer core::U16String... ... core::U16String...->core::U16String fca::ConceptLattice ConceptLattice fca::ConceptLattice->poset::POSet fca::ConceptLattice... ... fca::ConceptLattice...->fca::ConceptLattice


interface Object

core :: Object

The root of the class hierarchy.


class Array[E: nullable Object]

core :: Array

Resizable one dimension array of objects.
class ArrayMap[K: nullable Object, E: nullable Object]

core :: ArrayMap

Associative arrays implemented with an array of (key, value) pairs.
class DisjointSet[E: nullable Object]

core :: DisjointSet

Data structure to keep track of elements partitioned into disjoint subsets
class Matrix

matrix :: Matrix

A rectangular array of Float
class OrderedTree[E: Object]

ordered_tree :: OrderedTree

Generic structure to manage and display an ordered tree
class POSet[E: nullable Object]

poset :: POSet

Pre-order set graph.
interface Set[E: nullable Object]

core :: Set

Abstract sets.
abstract class Text

core :: Text

High-level abstraction for all text representations


class ArrayCmp[E: nullable Comparable]

core :: ArrayCmp

Comparable array for comparable elements.
class ArraySet[E: nullable Object]

core :: ArraySet

A set implemented with an Array.
class BoxedArray[E: Boxed[Numeric]]

geometry :: BoxedArray

BoxedCollection implemented by an array
abstract class Buffer

core :: Buffer

A mutable sequence of characters.
class ConceptLattice[O: Object, A: Object]

fca :: ConceptLattice

Concept Lattice
class ConcurrentArray[E: nullable Object]

pthreads :: ConcurrentArray

A concurrent variant to the standard Array
class DummyArray

dummy_array :: DummyArray

A Set that contains only integers.
class FlatBuffer

core :: FlatBuffer

Mutable strings of characters.
abstract class FlatString

core :: FlatString

Immutable strings of characters.
abstract class FlatText

core :: FlatText

All kinds of array-based text representations.
class HashSet[E: nullable Object]

core :: HashSet

A Set implemented with a hash table.
class Interfaces

nitcorn :: Interfaces

A list of interfaces with dynamic port listeners
class JsonArray

json :: JsonArray

A JSON array.
class MongoPipeline

mongodb :: MongoPipeline

Mongo pipelines are arrays of aggregation stages
class SpriteSet

gamnit :: SpriteSet

Set of sprites sorting them into different SpriteContext
abstract class String

core :: String

Immutable sequence of characters.
class TextureSet

gamnit :: TextureSet

Group of Texture
class U16String

core :: U16String

UTF-16 encoded string
class VirtualHosts

nitcorn :: VirtualHosts

A list of virtual hosts with dynamic port listeners

Class definitions

core $ Cloneable
# Something that can be cloned
# This interface introduces the `clone` method used to duplicate an instance
# Its specific semantic is left to the subclasses.
interface Cloneable
	# Duplicate `self`
	# The specific semantic of this method is left to the subclasses;
	# Especially, if (and how) attributes are cloned (depth vs. shallow).
	# As a rule of thumb, the principle of least astonishment should
	# be used to guide the semantic.
	# Note that as the returned clone depends on the semantic,
	# the `==` method, if redefined, should ensure the equality
	# between an object and its clone.
	fun clone: SELF is abstract