
org.jetbrains.kotlinx.ggdsl.ir.bindings.ColumnScaled.kt Maven / Gradle / Ivy
/*
* Copyright 2020-2022 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
*/
package org.jetbrains.kotlinx.ggdsl.ir.bindings
import org.jetbrains.kotlinx.ggdsl.ir.data.ColumnPointer
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
*/
public sealed interface ColumnScaled {
public val source: ColumnPointer
public val scale: Scale
}
/**
* 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
*/
public data class ColumnScaledUnspecifiedDefault(
override val source: ColumnPointer,
) : ColumnScaled {
override val scale: DefaultUnspecifiedScale = 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
*/
public data class ColumnScaledPositionalUnspecified(
override val source: ColumnPointer,
override val scale: PositionalUnspecifiedScale
) : ColumnScaled
/**
* 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
*/
public data class ColumnScaledNonPositionalUnspecified(
override val source: ColumnPointer,
override val scale: NonPositionalUnspecifiedScale
) : ColumnScaled
/**
* Scaled positional source
*
* @property DomainType the type of domain
* @property source the source to which the scale is applied
* @property scale applying positional scale
*/
public data class ColumnScaledPositional(
override val source: ColumnPointer,
override val scale: PositionalScale
) : ColumnScaled
/**
* Scaled a 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
*/
public data class ColumnScaledNonPositional(
override val source: ColumnPointer,
override val scale: NonPositionalScale
) : ColumnScaled
© 2015 - 2025 Weber Informatics LLC | Privacy Policy