Clases internas estáticas en scala

¿Cuál es el análogo en Scala de hacer esto en Java?

public class Outer {
  private Inner inner;

  public static class Inner {
  }

  public Inner getInner() { return inner; }
}

Específicamente quiero que mi clase internano Tengo que tener un nombre completo - es decir, quieroTrade.TypenoTradeType. Así que en Scala me imaginé que podría ser algo como:

class Outer(val inner: Inner) {
    object Inner
}

Pero esto no parece funcionar: mi scalaInner Simplemente no parece ser visible desde fuera de laOuter clase. Una solución, por supuesto, sería:

class Inner
class Outer(val inner: Inner)

Lo cual está bien, pero debido a los nombres de mis clases,Inner Es realmente el "tipo" de laOuter yOuter En realidad tiene un nombre largo. Asi que:

class SomeHorriblyLongNameType
class SomeHorriblyLongName(myType: SomeHorriblyLongNameType)

Que es verbosa y horrible. Podría reemplazarSomeHorriblyLongNameType con tan soloType pero entonces no habría una conexión obvia entre él y la clase con la que estaba relacionado. Uf

Respuestas a la pregunta(5)

Su respuesta a la pregunta