
com.innovenso.townplanner.io.concepts.LinkPropertyExcelIO.scala Maven / Gradle / Ivy
package com.innovenso.townplanner.io.concepts
import com.innovenso.townplanner.io.concepts.ExcelFields._
import com.innovenso.townplanner.model.{EnterpriseArchitecture, TownPlan}
import com.innovenso.townplanner.model.concepts.properties.{HasLinks, Link}
import com.innovenso.townplanner.model.meta.Key
import org.apache.poi.ss.usermodel.{Row, Sheet}
import org.apache.poi.xssf.usermodel.XSSFWorkbook
object LinkPropertyExcelIO extends PropertiesExcelIO[HasLinks, Link] {
override def sheetName: String = "Links"
override def headerLabels: List[String] = List(URL, TITLE, TYPE)
override def cellValues(property: Link): List[String] =
List(property.url, property.title, property.name)
override def properties(holder: HasLinks): List[Link] = holder.links
override def propertyClass: Class[Link] = classOf[Link]
override def propertyHolderClass: Class[HasLinks] = classOf[HasLinks]
override protected def readProperty(
props: PropertyProperties,
enterpriseArchitecture: EnterpriseArchitecture
): Unit = {
val modelComponent = enterpriseArchitecture.hasProperty(
props.conceptKey,
Link.fromString(props(TYPE), props(URL), props.option(TITLE))
)
println(s"added link property to $modelComponent")
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy