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

org.opalj.av.checking.ArchitectureChecker.scala Maven / Gradle / Ivy

The newest version!
/* BSD 2-Clause License - see OPAL/LICENSE for details. */
package org.opalj
package av
package checking

import scala.collection.Set

/**
 * An architecture checker validates if the implemented architecture
 * complies with the expected/specified one.
 *
 * @author Marco Torsello
 */
sealed trait ArchitectureChecker {

    def violations(): Set[SpecificationViolation]

}

/**
 * A dependency checker validates if the dependencies between the elements of
 * two ensembles comply with the expected/specified dependencies.
 *
 * @author Michael Eichberg
 * @author Marco Torsello
 */
trait DependencyChecker extends ArchitectureChecker {

    def targetEnsembles: Seq[Symbol]

    def sourceEnsembles: Seq[Symbol]
}

/**
 * A property checker validates if the elements of an ensemble
 * have the expected/specified properties.
 *
 * @author Marco Torsello
 */
trait PropertyChecker extends ArchitectureChecker {

    /**
     * A textual representation of the property.
     */
    def property: String

    def ensembles: Seq[Symbol]
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy