Names

org.finos.morphir.Names

Attributes

Graph
Supertypes
trait QNameModule
trait PathModule
trait NodeIDModule
trait NameModule
trait FQNameModule
class Object
trait Matchable
class Any
Show all
Known subtypes
object naming

Members list

Type members

Inherited classlikes

sealed case class FQName(packagePath: PackageName, modulePath: ModuleName, localName: Name)

Attributes

Inherited from:
FQNameModule
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object FQName

Attributes

Inherited from:
FQNameModule
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
sealed case class FQNameParsingError(invalidName: String) extends Exception

Attributes

Inherited from:
FQNameModule
Supertypes
trait Product
trait Equals
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
sealed case class FQNamingOptions(defaultPackage: PackageName, defaultModule: ModuleName, defaultSeparator: String)

Attributes

Inherited from:
NamingOptionsModule
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Inherited from:
NamingOptionsModule
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
trait HasId

Attributes

Inherited from:
NodeIDModule
Supertypes
class Object
trait Matchable
class Any
Known subtypes
sealed case class ModuleName(path: Path)

A module name is a unique identifier for a module within a package. It is represented by a Path, which is a "list" of names.

A module name is a unique identifier for a module within a package. It is represented by a Path, which is a "list" of names.

Attributes

Inherited from:
ModuleNameModule
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object ModuleName

Attributes

Inherited from:
ModuleNameModule
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
sealed case class Name

Name is an abstraction of human-readable identifiers made up of words. This abstraction allows us to use the same identifiers across various naming conventions used by the different frontend and backend languages Morphir integrates with.

Name is an abstraction of human-readable identifiers made up of words. This abstraction allows us to use the same identifiers across various naming conventions used by the different frontend and backend languages Morphir integrates with.

Attributes

Inherited from:
NameModule
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object Name

Attributes

Inherited from:
NameModule
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
object NameRenderer

Attributes

Inherited from:
NameModule
Supertypes
class Object
trait Matchable
class Any
trait NameRenderer extends Name => String

Attributes

Inherited from:
NameModule
Supertypes
trait Name => String
class Object
trait Matchable
class Any
Known subtypes
object CamelCase
object KebabCase
object SnakeCase
object TitleCase
sealed case class Namespace(path: Path)

Attributes

Inherited from:
NamespaceModule
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object Namespace

Attributes

Inherited from:
NamespaceModule
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
sealed case class NamespaceRenderer(separator: String, nameRenderer: NameRenderer) extends Path => String

Attributes

Inherited from:
NamespaceModule
Supertypes
trait Serializable
trait Product
trait Equals
trait Path => String
class Object
trait Matchable
class Any
Show all

Attributes

Inherited from:
NamespaceModule
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
object NodeID

Attributes

Inherited from:
NodeIDModule
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
sealed trait NodeID extends Product, Serializable

Represents a path in the IR. ==Overview== A NodeID can have two slightly different structures depending on if we are refering to modules or definitions (types/values).

Represents a path in the IR. ==Overview== A NodeID can have two slightly different structures depending on if we are refering to modules or definitions (types/values).

  • When refefering to modules: "module:<Package>:<Module>"
  • When refering to definitions: "type\value:<Package>:<Module><localName>#<nodePath>", where nodePath is optional

Examples of valid NodeIDs:

  • "module:Morphir.Reference.Model:BooksAndRecords"
  • "type:Morphir.Reference.Model:BooksAndRecords:deal"
  • "value:Morphir.Reference.Model:BooksAndRecords:deal#1"

==Referring to modules== We can refer to modules by their Qualified Name, with the module: prefix

For example: "module:Morphir.Reference.Model:BooksAndRecords" refers to the Books and Records module inside the Morphir.Reference.Model package.

Attributes

Inherited from:
NodeIDModule
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
class ModuleID
class TypeID
class ValueID
sealed case class NodePath(steps: Vector[NodePathStep])

Attributes

Inherited from:
NodeIDModule
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object NodePath

Attributes

Inherited from:
NodeIDModule
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
object NodePathStep

Attributes

Inherited from:
NodeIDModule
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
sealed trait NodePathStep

Attributes

Inherited from:
NodeIDModule
Supertypes
class Object
trait Matchable
class Any
Known subtypes
sealed case class PackageName(path: Path)

A package name is a globally unique identifier for a package. It is represented by a Path which is a list of names.

A package name is a globally unique identifier for a package. It is represented by a Path which is a list of names.

Attributes

Inherited from:
PackageNameModule
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object PackageName

Attributes

Inherited from:
PackageNameModule
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
sealed case class Path(segments: Vector[Name])

Attributes

Inherited from:
PathModule
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object Path

Attributes

Inherited from:
PathModule
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
sealed case class PathRenderer(separator: String, nameRenderer: NameRenderer) extends Path => String

Attributes

Inherited from:
PathModule
Supertypes
trait Serializable
trait Product
trait Equals
trait Path => String
class Object
trait Matchable
class Any
Show all
object PathRenderer

Attributes

Inherited from:
PathModule
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
sealed case class QName(moduleName: ModuleName, localName: Name)

Attributes

Inherited from:
QNameModule
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object QName

Attributes

Inherited from:
QNameModule
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
sealed case class QualifiedModuleName(packageName: PackageName, modulePath: ModuleName)

Attributes

Inherited from:
QualifiedModuleNameModule
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Inherited from:
QualifiedModuleNameModule
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
sealed case class QualifiedModuleNameParsingError(invalidName: String) extends Exception

Attributes

Inherited from:
QualifiedModuleNameModule
Supertypes
trait Product
trait Equals
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all

Inherited types

type NodeIDCompanion = this.NodeID.type

Attributes

Inherited from:
NodeIDModule

Value members

Inherited fields

Attributes

Inherited from:
PackageNameModule