All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy