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 kotlinx.serialization.Serializable
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.
*/
@Serializable
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.
*/
@Serializable
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.
*/
@Serializable
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.
*/
@Serializable
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.
*/
@Serializable
public data class ColumnScaledNonPositional(
override val source: ColumnPointer,
override val scale: NonPositionalScale
) : ColumnScaled
© 2015 - 2025 Weber Informatics LLC | Privacy Policy