Standard library documentation continued.

This commit is contained in:
Dmitry Jemerov
2015-02-27 20:50:11 +01:00
parent 7cd68c70d2
commit 2cc291efdb
18 changed files with 414 additions and 7 deletions
+4
View File
@@ -16,6 +16,10 @@
package kotlin
/**
* Represents a value which is either `true` or `false`. On the JVM, non-nullable values of this type are
* represented as values of the primitive type `boolean`.
*/
public class Boolean private () : Comparable<Boolean> {
public fun not(): Boolean
+4
View File
@@ -16,6 +16,10 @@
package kotlin
/**
* Represents a singe 16-bit Unicode character. On the JVM, non-nullable values of this type are represented
* as values of the primitive type `char`.
*/
public class Char private () : Comparable<Char> {
public fun compareTo(other: Double): Int
public fun compareTo(other: Float) : Int
@@ -16,10 +16,25 @@
package kotlin
/**
* Represents a readable sequence of [Char] values.
*/
public trait CharSequence {
/**
* Returns the length of this character sequence.
*/
public fun length(): Int
/**
* Returns the character at the specified [index] in the sequence.
*/
public fun charAt(index: Int): Char
/**
* Returns a subsequence of this sequence.
*
* @param start the start index (inclusive).
* @param end the end index (exclusive).
*/
public fun subSequence(start: Int, end: Int): CharSequence
}
+6
View File
@@ -16,6 +16,12 @@
package kotlin
/**
* Classes that inherit from this trait support creating field-by-field copies of their instances.
*/
public trait Cloneable {
/**
* Creates and returns a field-by-field copy of this object.
*/
protected fun clone(): Any { /* intrinsic */ }
}
+214
View File
@@ -16,40 +16,115 @@
package kotlin
/**
* Classes that inherit from this trait can be represented as a sequence of elements that can
* be iterated over.
* @param T the type of element being iterated over.
*/
public trait Iterable<out T> {
/**
* Returns an iterator over the elements of this object.
*/
public fun iterator(): Iterator<T>
}
/**
* Classes that inherit from this trait can be represented as a sequence of elements that can
* be iterated over and that supports removing elements during iteration.
*/
public trait MutableIterable<out T> : Iterable<T> {
/**
* Returns an iterator over the elementrs of this sequence that supports removing elements during iteration.
*/
override fun iterator(): MutableIterator<T>
}
/**
* A generic collection of elements. Methods in this trait support only read-only access to the collection;
* read/write access is supported through the [MutableCollection] trait.
* @param E the type of elements contained in the collection.
*/
public trait Collection<out E> : Iterable<E> {
// Query Operations
/**
* Returns the size of the collection.
*/
public fun size(): Int
/**
* Returns `true` if the collection is empty (contains no elements), `false` otherwise.
*/
public fun isEmpty(): Boolean
/**
* Checks if the specified element is contained in this collection.
*/
public fun contains(o: Any?): Boolean
override fun iterator(): Iterator<E>
// Bulk Operations
/**
* Checks if all elements in the specified collection are contained in this collection.
*/
public fun containsAll(c: Collection<Any?>): Boolean
}
/**
* A generic collection of elements that supports adding and removing elements.
*/
public trait MutableCollection<E> : Collection<E>, MutableIterable<E> {
// Query Operations
override fun iterator(): MutableIterator<E>
// Modification Operations
/**
* Adds the specified element to the collection.
*
* @return `true` if the element has been added, `false` if the collection does not support duplicates
* and the element is already contained in the collection.
*/
public fun add(e: E): Boolean
/**
* Removes the specified element from the collection.
*
* @return `true` if the element has been successfully removed; `false` if it was not present in the collection.
*/
public fun remove(o: Any?): Boolean
// Bulk Modification Operations
/**
* Adds all of the elements in the specified collection to this collection.
*
* @return `true` if any of the specified elements was added to the collection, `false` if the collection was not modified.
*/
public fun addAll(c: Collection<E>): Boolean
/**
* Removes all of the elements in the specified collection from this collection.
*
* @return `true` if any of the specified elements was removed from the collection, `false` if the collection was not modified.
*/
public fun removeAll(c: Collection<Any?>): Boolean
/**
* Removes all of the elements not contained in the specified collection from this collection.
*
* @return `true` if any element was removed from the collection, `false` if the collection was not modified.
*/
public fun retainAll(c: Collection<Any?>): Boolean
/**
* Removes all elements from this collection.
*/
public fun clear(): Unit
}
/**
* A generic ordered collection of elements. Methods in this trait support only read-only access to the list;
* read/write access is supported through the [MutableList] trait.
* @param E the type of elements contained in the list.
*/
public trait List<out E> : Collection<E> {
// Query Operations
override fun size(): Int
@@ -61,20 +136,47 @@ public trait List<out E> : Collection<E> {
override fun containsAll(c: Collection<Any?>): Boolean
// Positional Access Operations
/**
* Returns the element at the specified index in the list.
*/
public fun get(index: Int): E
// Search Operations
/**
* Returns the index of the first occurrence of the specified element in the list, or -1 if the specified
* element is not contained in the list.
*/
public fun indexOf(o: Any?): Int
/**
* Returns the index of the last occurrence of the specified element in the list, or -1 if the specified
* element is not contained in the list.
*/
public fun lastIndexOf(o: Any?): Int
// List Iterators
/**
* Returns a list iterator over the elements in this list (in proper sequence).
*/
public fun listIterator(): ListIterator<E>
/**
* Returns a list iterator over the elements in this list (in proper sequence), starting at the specified [index].
*/
public fun listIterator(index: Int): ListIterator<E>
// View
/**
* Returns a view of the portion of this list between the specified [fromIndex] (inclusive) and [toIndex] (exclusive).
* The returned list is backed by this list, so non-structural changes in the returned list are reflected in this list, and vice-versa.
*/
public fun subList(fromIndex: Int, toIndex: Int): List<E>
}
/**
* A generic ordered collection of elements that supports adding and removing elements.
* @param E the type of elements contained in the list.
*/
public trait MutableList<E> : List<E>, MutableCollection<E> {
// Modification Operations
override fun add(e: E): Boolean
@@ -82,14 +184,35 @@ public trait MutableList<E> : List<E>, MutableCollection<E> {
// Bulk Modification Operations
override fun addAll(c: Collection<E>): Boolean
/**
* Inserts all of the elements in the specified collection [c] into this list at the specified [index].
*
* @return `true` if the list was changed as the result of the operation.
*/
public fun addAll(index: Int, c: Collection<E>): Boolean
override fun removeAll(c: Collection<Any?>): Boolean
override fun retainAll(c: Collection<Any?>): Boolean
override fun clear(): Unit
// Positional Access Operations
/**
* Replaces the element at the specified position in this list with the specified element.
*
* @return the element previously at the specified position.
*/
public fun set(index: Int, element: E): E
/**
* Inserts an element into the list at the specified [index].
*/
public fun add(index: Int, element: E): Unit
/**
* Removes an element at the specified [index] from the list.
*
* @return the element that has been removed.
*/
public fun remove(index: Int): E
// List Iterators
@@ -100,6 +223,12 @@ public trait MutableList<E> : List<E>, MutableCollection<E> {
override fun subList(fromIndex: Int, toIndex: Int): MutableList<E>
}
/**
* A generic unordered collection of elements that does not support duplicate elements.
* Methods in this trait support only read-only access to the set;
* read/write access is supported through the [MutableSet] trait.
* @param E the type of elements contained in the set.
*/
public trait Set<out E> : Collection<E> {
// Query Operations
override fun size(): Int
@@ -111,6 +240,11 @@ public trait Set<out E> : Collection<E> {
override fun containsAll(c: Collection<Any?>): Boolean
}
/**
* A generic unordered collection of elements that does not support duplicate elements, and supports
* adding and removing elements.
* @param E the type of elements contained in the set.
*/
public trait MutableSet<E> : Set<E>, MutableCollection<E> {
// Query Operations
override fun iterator(): MutableIterator<E>
@@ -126,32 +260,104 @@ public trait MutableSet<E> : Set<E>, MutableCollection<E> {
override fun clear(): Unit
}
/**
* A collection that holds pairs of objects (keys and values) and supports efficiently retrieving
* the value corresponding to each key. Map keys are unique; the map holds only one value for each key.
* Methods in this trait support only read-only access to the map; read-write access is supported through
* the [MutableMap] trait.
* @param K the type of map keys.
* @param V the type of map values.
*/
public trait Map<K, out V> {
// Query Operations
/**
* Returns the number of key/value pairs in the map.
*/
public fun size(): Int
/**
* Returns `true` if the map is empty (contains no elements), `false` otherwise.
*/
public fun isEmpty(): Boolean
/**
* Returns `true` if the map contains the specified [key].
*/
public fun containsKey(key: Any?): Boolean
/**
* Returns `true` if the map maps one or more keys to the specified [value].
*/
public fun containsValue(value: Any?): Boolean
/**
* Returns the value corresponding to the given [key], or `null` if such a key is not present in the map.
*/
public fun get(key: Any?): V?
// Views
/**
* Returns a [Set] of all keys in this map.
*/
public fun keySet(): Set<K>
/**
* Returns a [Collection] of all values in this map. Note that this collection may contain duplicate values.
*/
public fun values(): Collection<V>
/**
* Returns a [Set] of all key/value pairs in this map.
*/
public fun entrySet(): Set<Map.Entry<K, V>>
/**
* Represents a key/value pair held by a [Map].
*/
public trait Entry<out K, out V> {
/**
* Returns the key of this key/value pair.
*/
public fun getKey(): K
/**
* Returns the value of this key/value pair.
*/
public fun getValue(): V
}
}
/**
* A modifiable collection that holds pairs of objects (keys and values) and supports efficiently retrieving
* the value corresponding to each key. Map keys are unique; the map holds only one value for each key.
* @param K the type of map keys.
* @param V the type of map values.
*/
public trait MutableMap<K, V> : Map<K, V> {
// Modification Operations
/**
* Associates the specified [value] with the specified [key] in the map.
*
* @return the previous value associated with the key, or `null` if the key was not present in the map.
*/
public fun put(key: K, value: V): V?
/**
* Removes the specified key and its corresponding value from this map.
*
* @return the previous value associated with the key, or `null` if the key was not present in the map.
*/
public fun remove(key: Any?): V?
// Bulk Modification Operations
/**
* Updates this map with key/value pairs from the specified map [m].
*/
public fun putAll(m: Map<out K, V>): Unit
/**
* Removes all elements from this map.
*/
public fun clear(): Unit
// Views
@@ -159,7 +365,15 @@ public trait MutableMap<K, V> : Map<K, V> {
override fun values(): MutableCollection<V>
override fun entrySet(): MutableSet<MutableMap.MutableEntry<K, V>>
/**
* Represents a key/value pair held by a [MutableMap].
*/
public trait MutableEntry<K,V>: Map.Entry<K, V> {
/**
* Changes the value associated with the key of this entry.
*
* @return the previous value corresponding to the key.
*/
public fun setValue(value: V): V
}
}
@@ -16,6 +16,14 @@
package kotlin
/**
* Classes which inherit from this trait have a defined total ordering between their instances.
*/
public trait Comparable<in T> {
/**
* Compares this object with the specified object for order. Returns zero if this object is equal
* to the specified [other] object, a negative number if it's less than [other], or a positive number
* if it's greater than [other].
*/
public fun compareTo(other: T): Int
}
+13
View File
@@ -16,8 +16,21 @@
package kotlin
/**
* The common base class of all enum classes.
* See the [Kotlin language documentation](http://kotlinlang.org/docs/reference/enum-classes.html) for more
* information on enum classes.
*/
public abstract class Enum<E : Enum<E>>(name: String, ordinal: Int): Comparable<E> {
/**
* Returns the name of this enum constant, exactly as declared in its enum declaration.
*/
public final fun name(): String
/**
* Returns the ordinal of this enumeration constant (its position in its enum declaration, where the initial constant
* is assigned an ordinal of zero).
*/
public final fun ordinal(): Int
public override final fun compareTo(other: E): Int
+54
View File
@@ -16,16 +16,50 @@
package kotlin
/**
* Superclass for all platform classes representing numeric values.
*/
public abstract class Number {
/**
* Returns the value of this number as a [Double], which may involve rounding.
*/
public abstract fun toDouble(): Double
/**
* Returns the value of this number as a [Float], which may involve rounding.
*/
public abstract fun toFloat(): Float
/**
* Returns the value of this number as a [Long], which may involve rounding or truncation.
*/
public abstract fun toLong(): Long
/**
* Returns the value of this number as an [Int], which may involve rounding or truncation.
*/
public abstract fun toInt(): Int
/**
* Returns the [Char] with the numeric value equal to this number, truncated to 16 bits if appropriate.
*/
public abstract fun toChar(): Char
/**
* Returns the value of this number as a [Short], which may involve rounding or truncation.
*/
public abstract fun toShort(): Short
/**
* Returns the value of this number as a [Byte], which may involve rounding or truncation.
*/
public abstract fun toByte(): Byte
}
/**
* Represents a double-precision 64-bit IEEE 754 floating point number. On the JVM, non-nullable
* values of this type are represented as values of the primitive type `double`.
*/
public class Double private () : Number, Comparable<Double> {
public override fun compareTo(other: Double): Int
public fun compareTo(other: Float): Int
@@ -96,6 +130,10 @@ public class Double private () : Number, Comparable<Double> {
public override fun toByte(): Byte
}
/**
* Represents a single-precision 32-bit IEEE 754 floating point number. On the JVM, non-nullable
* values of this type are represented as values of the primitive type `float`.
*/
public class Float private () : Number, Comparable<Float> {
public fun compareTo(other: Double): Int
public override fun compareTo(other: Float): Int
@@ -167,6 +205,10 @@ public class Float private () : Number, Comparable<Float> {
public override fun toByte(): Byte
}
/**
* Represents a 64-bit signed integer. On the JVM, non-nullable values of this type are represented
* as values of the primitive type `long`.
*/
public class Long private () : Number, Comparable<Long> {
public fun compareTo(other: Double): Int
public fun compareTo(other: Float) : Int
@@ -246,6 +288,10 @@ public class Long private () : Number, Comparable<Long> {
public override fun toByte(): Byte
}
/**
* Represents a 32-bit signed integer. On the JVM, non-nullable values of this type are represented
* as values of the primitive type `int`.
*/
public class Int private () : Number, Comparable<Int> {
public fun compareTo(other: Double): Int
public fun compareTo(other: Float) : Int
@@ -325,6 +371,10 @@ public class Int private () : Number, Comparable<Int> {
public override fun toByte(): Byte
}
/**
* Represents a 16-bit signed integer. On the JVM, non-nullable values of this type are represented
* as values of the primitive type `short`.
*/
public class Short private () : Number, Comparable<Short> {
public fun compareTo(other: Double): Int
public fun compareTo(other: Float) : Int
@@ -396,6 +446,10 @@ public class Short private () : Number, Comparable<Short> {
public override fun toByte(): Byte
}
/**
* Represents a 8-bit signed integer. On the JVM, non-nullable values of this type are represented
* as values of the primitive type `byte`.
*/
public class Byte private () : Number, Comparable<Byte> {
public fun compareTo(other: Double): Int
public fun compareTo(other: Float) : Int
+6
View File
@@ -21,8 +21,14 @@ package kotlin
* implemented as instances of this class.
*/
public class String : Comparable<String>, CharSequence {
/**
* Returns a string obtained by concatenating this string with the string representation of the given [other] object.
*/
public fun plus(other: Any?): String
/**
* Returns the character at the specified [index].
*/
public fun get(index: Int): Char
public override fun length(): Int
+15
View File
@@ -16,10 +16,25 @@
package kotlin
/**
* The base class for all errors and exceptions. Only instances of this class can be thrown or caught.
*
* @param message the detail message string.
* @param cause the cause of this throwable.
*/
public open class Throwable(message: String? = null, cause: Throwable? = null) {
/**
* Returns the detail message of this throwable.
*/
public fun getMessage(): String?
/**
* Returns the cause of this throwable.
*/
public fun getCause(): Throwable?
/**
* Prints the stack trace of this throwable to the standard output.
*/
public fun printStackTrace(): Unit
}