Search the FirstSpirit Knowledge Base
Hallo zusammen.
Zu einer bestimmten Sprache in FirstSpirit möchte ich den Anzeigenamen auslesen und ausgeben.
Der Aufruf von #global.language.class liefert immer folgende Klasse zurück:
de.espirit.firstspirit.server.projectmanagement.LanguageImpl
Die Doku sagt aber es wird folgende Klasse zurückgeliefert:
de.espirit.firstspirit.access.language
Das ist ansich noch kein Problem. Allerdings gibt es in der erst genannten Klasse z.B. die Methode getDisplayName() nicht. Leider gibt es auch in der API keine Doku dieser Klasse.
Hat hier jemand eine Idee?!
Gruß,
Daniel
Hallo Daniel,
ein .getClass() (entspricht im Template der verkürzten Syntax .class) liefert immer die tatsächlich implementierende Klasse zurück.
Eine API beschreibt idealerweise (fast) ausschließlich Interfaces.
de.espirit.firstspirit.server.projectmanagement.LanguageImpl ist eine (interne!) Implementierung von de.espirit.firstspirit.access.Language, garantiert verfügbar sind hier lediglich die im Interface (Language) definierten Methoden.
Und dort gibt es eine Methode .getDisplayName(Language language). D.h. Du musst hier eine weitere Sprache als Parameter hereingeben die angibt in welcher Sprache Du den Namen der Sprache haben möchtest.
Das hat den Hintergrund dass eine Sprache ja nicht nur einen Namen hat, sondern der Name selbst wieder sprachabhängig ist, z.B.:
DE: Deutsch, German, Allemand
EN: Englisch, English, Anglais
FR: Französisch, French, Francais
Viele Grüße
Michael
Hallo Daniel,
in welcher Version tritt der Fehler auf?
Viele Grüße
Thomas
Hallo Daniel,
ein .getClass() (entspricht im Template der verkürzten Syntax .class) liefert immer die tatsächlich implementierende Klasse zurück.
Eine API beschreibt idealerweise (fast) ausschließlich Interfaces.
de.espirit.firstspirit.server.projectmanagement.LanguageImpl ist eine (interne!) Implementierung von de.espirit.firstspirit.access.Language, garantiert verfügbar sind hier lediglich die im Interface (Language) definierten Methoden.
Und dort gibt es eine Methode .getDisplayName(Language language). D.h. Du musst hier eine weitere Sprache als Parameter hereingeben die angibt in welcher Sprache Du den Namen der Sprache haben möchtest.
Das hat den Hintergrund dass eine Sprache ja nicht nur einen Namen hat, sondern der Name selbst wieder sprachabhängig ist, z.B.:
DE: Deutsch, German, Allemand
EN: Englisch, English, Anglais
FR: Französisch, French, Francais
Viele Grüße
Michael