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

org.opalj.fpcf.PropertyMetaInformation.scala Maven / Gradle / Ivy

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

/**
 * The meta information shared by properties and their respective kinds.
 *
 * @author Michael Eichberg
 */
trait PropertyMetaInformation extends PropertyKind {

    type Self <: Property

    /**
     * The key uniquely identifies this property's category. All property objects
     * of the same kind have to use the same key.
     *
     * In general each `Property` kind is expected to have a companion object that
     * stores the unique `PropertyKey`.
     */
    def key: PropertyKey[Self]

    final def id: Int = key.id
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy