
org.jetbrains.kotlinx.ggdsl.ir.bindings.SourceScaled.kt Maven / Gradle / Ivy
package org.jetbrains.kotlinx.ggdsl.ir.bindings
import org.jetbrains.kotlinx.ggdsl.ir.data.DataSource
import org.jetbrains.kotlinx.ggdsl.ir.scale.*
/**
* Scaled source base interface
*
* @property DomainType the type of domain
* @property source the source to which the scale is applied
* @property scale applying scale
*/
sealed interface SourceScaled {
val source: DataSource
val scale: Scale
}
/*
/**
* Scaled default source interface
*
* @property DomainType the type of domain
* @property source the source to which the scale is applied
* @property scale applying default scale
*/
sealed interface SourceScaledUnspecified : SourceScaled {
override val scale: UnspecifiedScale
}
*/
/**
* Scaled unspecified default source
*
* @property DomainType the type of domain
* @property source the source to which the scale is applied
* @property scale applying unspecified default scale
*/
data class SourceScaledUnspecifiedDefault(
override val source: DataSource,
) : SourceScaled {
override val scale = DefaultUnspecifiedScale
}
/**
* Scaled positional default source
*
* @property DomainType the type of domain
* @property source the source to which the scale is applied
* @property scale applying positional default scale
*/
data class SourceScaledPositionalUnspecified(
override val source: DataSource,
override val scale: PositionalUnspecifiedScale
) : SourceScaled
/**
* Scaled non-positional default source
*
* @property DomainType the type of domain
* @property source the source to which the scale is applied
* @property scale applying non-positional default scale
*/
data class SourceScaledNonPositionalUnspecified(
override val source: DataSource,
override val scale: NonPositionalUnspecifiedScale
) : SourceScaled
/**
* Scaled positional source
*
* @property DomainType the type of domain
* @property source the source to which the scale is applied
* @property scale applying positional scale
*/
data class SourceScaledPositional(
override val source: DataSource,
override val scale: PositionalScale
) : SourceScaled
/**
* Scaled non-positional source
*
* @property DomainType the type of domain
* @property source the source to which the scale is applied
* @property scale applying non-positional scale
*/
data class SourceScaledNonPositional(
override val source: DataSource,
override val scale: NonPositionalScale
) : SourceScaled
© 2015 - 2025 Weber Informatics LLC | Privacy Policy