Я хотел бы достичь чего-то похожего на то, как scala определяет Map
как и предопределенные type
и object
. В Predef
:
type Map[A, +B] = collection.immutable.Map[A, B]
val Map = collection.immutable.Map //object Map
Однако я хотел бы сделать это, используя Java enum
(из общей библиотеки). Например, у меня будет глобальный псевдоним:
type Country = my.bespoke.enum.Country
val Country = my.bespok.enum.Country //compile error: "object Country is not a value"
Причиной этого является то, что я хотел бы иметь возможность использовать такой код:
if (city.getCountry == Country.UNITED_KINGDOM) //or...
if (city.getCountry == UNITED_KINGDOM)
Как бы то ни было, это невозможно, одновременно импортируя псевдоним типа. Примечание: этот код будет работать нормально, если я не объявил предопределенный тип и не импортировал его! Есть ли какой-нибудь синтаксис, который я могу использовать для достижения этого?