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

commonMain.jetbrains.datalore.plot.config.PosConfig.kt Maven / Gradle / Ivy

There is a newer version: 4.5.3-alpha1
Show newest version
/*
 * Copyright (c) 2019. JetBrains s.r.o.
 * Use of this source code is governed by the MIT license that can be found in the LICENSE file.
 */

package jetbrains.datalore.plot.config

import jetbrains.datalore.plot.builder.assemble.PosProvider

internal class PosConfig private constructor(name: String, options: Map) : OptionsAccessor(options) {

    val pos: PosProvider = PosProto.createPosProvider(name, mergedOptions)

    companion object {
        fun create(position: Any): PosConfig {
            // position - name of position adjustment
            //        or
            //        map with options
            if (position is Map<*, *>) {
                @Suppress("UNCHECKED_CAST")
                val options = HashMap(position as Map)
                return createForName(
                    ConfigUtil.featureName(options),
                    options
                )
            }
            return createForName(position.toString(), HashMap())
        }

        private fun createForName(name: String, options: Map): PosConfig {
            return PosConfig(name, options)
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy