Custom Containers #
Custom Containers #
Custom containers is a simple way to provide own implementation of standard container types, thus allowing for easy extensibility of the collections language.
Example: weakHashMap
Provided the following declaration is reachable from the model currently being edited...
custom containers WeakCollections { public container weakHashMap<K, V> specifies map<K, V> { runtime type: WeakHashMap<K, V> factory: <no factory> } public container weakHashSet<E> specifies set<E> { runtime type: WeakSet<E> factory: <no factory> } }
... one can use the weak version of hashmap thusly:
Custom Containers Declaration
A root node of concept CustomContainers may have one or more declarations.
[public|protected|private] container containerName<TypeVar, ...> specifies container_type<TypeVar, ...> { runtime type: Classifier<TypeVar, ...> factory: expression of type Classifier<> (optional) }
declaration part | allowed contents |
---|---|
containerName | any valid identifier |
container_type | one of the existing container types of the collections language |
runtime type | Java classifier which represent implementation of the container |
factory | (optional) container creation expression; |
Last modified: 5 July 2019