com.github.roroche.eoplantumlbuilder.classes.Classes.kt Maven / Gradle / Ivy
package com.github.roroche.eoplantumlbuilder.classes
/**
* Classes to be used for diagram generation.
*/
interface Classes {
/**
* @return Classes to be used for diagram generation.
*/
fun list(): List>
/**
* Convenient wrapper.
*
* @property origin The delegate.
*/
abstract class Wrap(
protected val origin: Classes
) : Classes by origin
/**
* Simple implementation containing a list of [Class].
*
* @property classes The list of [Class].
*/
class Simple(
private val classes: List>
) : Classes {
/**
* @return Classes to be used for diagram generation.
*/
override fun list() = classes
}
}