Třída ObjectMapper v Jacksonu
ObjectMapper je jednou z nejdůležitějších dostupných tříd Jackson knihovna. Používá se ke čtení a zápisu dat JSON. Je zodpovědný za čtení dat z nebo do souboru POJO a do az modelu stromu JSON.
Třída ObjectMapper má následující vlastnosti:
- Podporuje pokročilé koncepty jako např Polymorfismus a Rozpoznávání objektů.
- Je velmi přizpůsobitelný pro práci s různými styly obsahu JSON.
- Funguje jako továrna na zálohu ObjectReader a ObjectWriter třídy.
Třída ObjectMapper je deklarována následujícím způsobem:
public class ObjectMapper extends ObjectCodec implements Versioned, Serializable
Vnořené třídy
Následující tabulka definuje třídy, které rozšiřují třídu ObjectMapper nebo, řekněme, vnořené třídy třídy ObjectMapper.
| Třída | Popis |
|---|---|
| DefaultTypeResolverBuilder | Je to přizpůsobené TypeResolverBuilder třída, která se používá k získání stavitelů překladačů typů, se kterými můžeme použít 'výchozí psaní'. |
| Výchozí typování | Aby bylo možné určit druh typů, používají se výčty s metodou enableDefaultTyping(). |
Pojďme nyní pochopit pole, konstruktory a metody třídy ObjectMapper:
Pole třídy ObjectMapper
protected DefaultDeserializationContext _deserializationContext
Je to kontextový objekt plánu, který je uložen pro umožnění vlastních podtříd.
protected DeserializationConfig _deserializationConfig
Jedná se o konfigurační objekt, který se používá pro definování základních globálních nastavení procesu de-serializace.
chráněná JsonFactory jsonFactory
K vytvoření instance JsonParser a JsonGenerator se používá JsonFactory.
chráněné InjectableValues _injectableValues
Jedná se o poskytovatele, který se používá pro vkládání hodnot do deserializovaných POJO.
chráněné ConfigOverrides _propertyOverrides
Používá se pro přístup k aktuálně aktivním přepsáním konfigurace podle typu.
chráněný SimpleMixInResolver _mixIns
Je to mapování, které se používá k definování způsobu aplikace smíšených anotací. Mapování se provádí následujícím způsobem:
Klíč: Zadejte, chcete-li získat další anotace.
Hodnota: Typ, který obsahuje poznámky k „vmíchání“
protected Set _registeredModuleTypes
Je to sada, která definuje sadu typů modulů, které byly zaregistrovány.
chráněná konfigurace SerializationConfig _serializationConfig
Je to také konfigurační objekt, který se používá k definování základních globálních nastavení procesu serializace.
chráněná ConcurrentHashMap
Je to mapa, která se používá ke sledování kořenových de-serializátorů. Je to mapa hlavní úrovně.
chráněná SerializerFactory _serializerFactory
Je to továrna, která se používá ke konstrukci serializátorů.
chráněný SubtypeResolver _subtypeResolver
Slouží k registraci podtypů a k jejich řešení pro nad/podtypy dle potřeby.
chráněná TypeFactory _typeFactory
Je to továrna, která se používá k vytváření instancí JavaType. Jsou vyžadovány, aby moduly mohly přidat další vlastní manipulaci s typy.
protected DefaultSerializerProvider _serializerProvider
Je to objekt, který je zodpovědný za správu přístupu k serializátorům používaným pro serializaci.
chráněné statické BaseSettings DEFAULT_BASE
Jedná se o základní nastavení, která zahrnují výchozí hodnoty používané pro všechny instance ObjectMapper.
Konstruktory třídy ObjectMapper
Existují následující konstruktory třídy ObjectMapper:
| Konstruktér | Popis |
|---|---|
| ObjectMapper() | Je to výchozí konstruktor používaný k vytvoření instance, která používá výchozí JsonFactory, SerializerProvider, a BeanSerializerFactory. |
| ObjectMapper (továrna JsonFactory) | Slouží ke konstrukci instance, která používá danou JsonFactory. Ke konstrukci se používá daná JsonFactory JsonParsers a/nebo JsonGenerators. |
| ObjectMapper (továrna JsonFactory, poskytovatel SerializerProvider1, DeserializerProvider poskytovatel2) | Používá se ke konstrukci instance, která používá dané JsonFactory, SerializerProvider, a DeserializerProvider. Ke konstrukci se používá daná JsonFactory JsonParsers a/nebo JsonGenerators. |
| chráněný objektový mapovač (mapovač objektů) | Je to kopírovací konstruktor pro podporu copy(). |
Metody třídy ObjectMapper
Třída ObjectMapper definuje následující metody:
| Metoda | Typ návratu | Popis |
|---|---|---|
| _checkInvalidCopy (exp. třídy) | prázdnota | Používá se ke kontrole neplatné kopie. |
| _configAndWriteValue(JsonGenerator g, hodnota objektu) | prázdnota | V případě potřeby se používá pro konfiguraci generátoru a následné provedení funkce zápisu. |
| _convert(Object fromValue, JavaType toValueType) | Objekt | Používá se k získání skutečné implementace konverze. Zde se pro kód nepoužívají metody čtení a zápisu. |
| _initForReading(JsonParser p) | JsonToken | Slouží k ověření, zda je daný parser připraven ke čtení obsahu pro datovou vazbu či nikoliv. |
| _findRootDeserializer(ctxt DeserializationContext, JavaType valueType) | Json Deserializer | Pro předávanou hodnotu na kořenové úrovni, pokud chceme najít de-serializátor, použijeme tuto metodu. |
| _newReader(konfigurace DeserializationConfig) Podobná metoda:
| ObjectReader | Je to tovární metoda, tj. používaná k získání instancí ObjectReaderu správného podtypu. Aby bylo možné použít tuto metodu, je nutné, aby podtřídy byly přepsány. |
| _newWriter(konfigurace SerializationConfig) Podobné metody:
| ObjectWriter | Je to tovární metoda, tj. používaná k získání instancí ObjectWriter správného podtypu. Aby bylo možné použít tuto metodu, je nutné, aby podtřídy byly přepsány. |
| _readValue(DeserializationConfig cfg, JsonParser p, JavaType valueType) | Objekt | Používá se k získání objektu, který definuje čtení hodnoty a operaci vazby. |
| _serializerProvider(konfigurace SerializationConfig) | DefaultSerializerProvider | Je to přepsatelná pomocná metoda, která se používá ke konstrukci SerializerProvider. |
| acceptJsonFormatVisitor (typ třídy, návštěvník JsonFormatVisitorWrapper) Podobná metoda:
| prázdnota prázdnota | Pokud chceme se zadaným návštěvníkem navštívit typovou hierarchii určitého typu, použijeme tuto metodu. |
| addHandler(DeserializationProblemHandler h) | ObjectMapper | Abychom zvládli specifikované problémy během de-serializace, používáme specifikovaný DeserializationProblemHandler a pro přidání handleru používáme tuto metodu. |
| addMixIn(cíl třídy, zdroj mixu třídy) | ObjectMapper | Abychom mohli použít smíšenou anotaci pro specifikovanou rozšiřující třídu nebo rozhraní, používáme tuto metodu k jejímu přidání. |
| canDeserialize (typ JavaType) | Boolean | Používá se ke kontrole, zda mapovač může de-serializovat objekt zadaného typu nebo ne. |
| canDeserialize (typ JavaType, příčina AtomicReference) | Boolean | Je to podobné jako u předchozí metody. Jediný rozdíl je v tom, že může vrátit vrhací prvek, který byl hozen v době konstrukce serializátoru. Vyhazovač lze použít k odhalení skutečného problému. |
| canSerialize (typ třídy) | Boolean | Používá se ke kontrole, zda mapovač může serializovat objekt zadaného typu nebo ne. |
| canSerialize (typ třídy, příčina AtomicReference) | Boolean | Je to podobné jako u předchozí metody. Jediný rozdíl je v tom, že může vrátit vrhací prvek, který byl hozen v době konstrukce serializátoru. Vyhazovač lze použít k odhalení skutečného problému. |
| clearProblemHandlers() | ObjectMapper | Je to jedna z metod, která se používá k odstranění všech instancí DeserializationProblemHandlers z mapovače, které jsou registrované. |
| configure(Feature deserialization f, booleovský stav) podobné metody:
| ObjectMapper | Používá se ke změně stavu zapnuté/vypnuté deserializace, generátoru Json, JsonParser, mapovače nebo funkce serializace pro mapovač objektů, instance generátoru, instance analyzátoru, instanci mapovače nebo mapovač objektů. |
| konstruktTyp (Typ t) | JavaType | Pokud chceme sestavit JavaType z daného typu bez explicitního kontextu, použijeme tuto metodu. |
| convertValue(Object fromValue, Class toValueType) Podobné metody:
| T | Pokud chceme provést dvoukrokový převod dané hodnoty na instanci daného typu hodnoty, použijeme metodu converValue(). |
| createArrayNode() | ArrayNode | Používá se k vytvoření ArrayNode. |
| defaultClassIntrospector() | ClassIntrospector | Pokud chceme použít výchozí ClassIntrospector, použijeme pro jeho konstrukci pomocnou metodu Overridable. |
| zakázat (funkce DeserializationFeature) Podobné metody:
| ObjectMapper | Používá se k deaktivaci dané DeserializationConfig, JsonGenerator.Features pro instance analyzátoru, JsonParser.Features pro instance analyzátoru mapovače objektů. |
| disableDefaultTyping() | ObjectMapper | Mnohokrát potřebujeme zakázat automatické zahrnutí informací o typu a pro tento účel používáme tuto metodu. |
povolit (funkce DeserializationFeature)
| ObjectMapper | Používá se k povolení dané DeserializationConfig, JsonGenerator.Features pro instance analyzátoru, JsonParser.Features pro instance analyzátoru mapovače objektů. |
| enableDefaultTyping() Podobné metody:
| ObjectMapper | Abychom mohli využít automatické zahrnutí typových informací pro de-serializaci polymorfních typů, používáme tuto metodu, abychom to umožnili. |
| findAndRegisterModules() | ObjectMapper | Je podobná metodě mapper.registerModules(mapper.findModules()). |
| findModules() Podobné metody:
| Seznam | Používá se k nalezení dostupných metod. Metoda využívá zařízení JDK ServiceLoader s modulem SPI. |
| getDateFormat() | Datový formát | Slouží k získání formátu data. |
| getDeserializationConfig() | DeserializationConfig | Používá se k získání sdíleného výchozího objektu DeserializationConfig. Vrácený objekt definuje konfigurační nastavení pro de-serializaci. |
| getDeserializationContext() | Kontext deseralizace | Používá se k získání aktuálního DeserializationContext. |
| getFactory() | JsonFactory | Pokud mapovač potřebuje zkonstruovat Json analyzátor a generátory, potřebuje json factory, a abychom to získali, použijeme metodu getFactory(). |
| getInjectableValues() | InjectableValues | Používá se k získání injekčních hodnot. |
| getJsonFactory() | JsonFactory | Je to zastaralá metoda, jak získat továrnu Json. |
| getNodeFactory() | JsonNodeFactory | Používá se k získání JsonNodeFactory, kterou používá mapovač v době přímého vytváření kořenových instancí JsonNode pro stromy. |
| getPropertyNamingStrategy() | PropertyNamingStrategy | Jak název napovídá, používá se ke strategii pojmenování nemovitosti. |
| getSerializationConfig() | SerializationConfig | Používá se k získání sdíleného výchozího objektu SerializationConfig. Vrácený objekt definuje konfigurační nastavení pro serializaci. |
| getSerializerFactory() | SerializerFactory | Používá se k získání aktuální SerializerFactory. |
| getSerializerProvider() | SerializerProvider | Je to přístupový objekt pro továrnu, který se používá k vytváření instancí voláním DefaultSerializerProvider.createInstance(SerializationConfig, SerializerFactory). |
| getSerializerProviderInstance() | SerializerProvider | Je to přístupový objekt, který se používá k vytvoření a vrácení instance SerializerProvider, kterou můžeme použít pro přístup k serializátorům. |
| getSubtypeResolver() | SubtypeResolver | Používá se pro přístup k používanému překladači podtypů. |
| getTypeFactory() | TypeFactory | Je to přístupový objekt, který se používá k získání instance aktuálně nakonfigurované TypeFactory. |
| getVisibilityChecker() | VisibilityChecker | Používá se pro přístup k aktuálně nakonfigurované kontrole viditelnosti. |
| isEnabled(DeserializationFeature f) Podobné metody:
| Boolean | Metoda isEnable() a její varianty se používají ke kontrole, zda je daná funkce specifická pro deserializaci, JsonFactory, JsonGenerator, JsonParser, Mapper nebo Serialization povolena nebo ne. |
| mixInCount() | int | Používá se k získání počtu mixIn. |
| čtenář() Podobné metody:
| ObjectReader | Metoda reader() a její varianty jsou tovární metody, které se používají k vytvoření instance ObjectReaderu. Na základě požadavku můžeme předat variantu kódování Base64 pro binární data kódovaná Base64, výchozí atributy, povolené funkce, injektovatelné hodnoty, JsonNodeFactory pro konstrukci stromů JSON. |
| readerFor (typ třídy) | ObjectReader | Je to tovární metoda, která se používá ke konstrukci ObjectReaderu a umožňuje operace čtení nebo aktualizace pro instance zadaného typu. |
| readerFor (typ Java) | ObjectReader | Je to tovární metoda, která se používá ke konstrukci ObjectReaderu a umožňuje operace čtení nebo aktualizace pro instance specifikovaného JavaType. |
| readerFor (TypeReference Type) | ObjectReader | Je to tovární metoda, která se používá ke konstrukci ObjectReader, umožňující operace čtení nebo aktualizace pro instance daného TypeReference. |
| readerForUpdating(Object valueToUpdate) | ObjectReader | Jedná se o tovární metodu, která se používá ke konstrukci ObjectReaderu umožňující aktualizační operace pro daný objekt. |
| readerWithView (zobrazení třídy) | ObjectReader | Je to tovární metoda, která se používá ke konstrukci ObjectReader, což umožňuje de-serializaci objektů s daným JSON View. |
readTree(byte[] content)
| JsonNode NEBO T | ReadTree() a její varianty se používají k de-serializaci obsahu JSON jako stromu vyjádřeného pomocí sady instancí JsonNode. |
| readValue(byte[] src, třída valueType) Podobné metody
| T NEBO MappingIterator | ReadValue() a její varianty se používají k deserializaci obsahu JSON
|
| readValues(JsonParser p, Class valueType) Podobné metody:
| MappingIterator | ReadValues() a její varianty se používají ke čtení sekvence objektů z proudu analyzátoru. |
| registerModule (modul modulu) Podobné metody:
| ObjectMapper | RegisterModule() a jeho varianty se používají k registraci modulu, který má schopnost rozšířit funkčnost poskytovanou mapovačem. |
| registerSubtypes(NamedType... typy) | prázdnota | Slouží k registraci dané třídy jako podtypu. Tímto způsobem může rozlišení založené na názvech typů propojit nadtypy s podtypy. |
| setAnnotationIntrospector(AnnotationIntrospector ai) | ObjectMapper | Slouží k nastavení AnnotationIntrospector, který používá instance mapperu pro serializaci i de-serializaci. |
| setAnnotationIntrospectors(AnnotationIntrospector serializerAI, AnnotationIntrospector deserializerAI) | ObjectMapper | Používá se ke změně instance AnnotationIntrospector používané aktuální instancí mapovače pro serializaci a de-serializaci. |
| setBase64Variant(Base64Variant v) | ObjectMapper | Používá se ke konfiguraci výchozí Base64Variant, kterou budou používat byte[] serializátory a de-serializátory. |
| setConfig(Konfigurace DeserializationConfig) | ObjectMapper | Tuto metodu používáme, abychom provedli přepsání základního objektu DeserializationConfig Object. |
| setConfig(SerializationConfig config) | ObjectMapper | Tuto metodu používáme, abychom provedli přepsání základního objektu SerializationConfig s konfiguračním nastavením specifickým pro serializaci. |
| setDateFormat(DateFormat dateFormat) | ObjectMapper | Používá se ke konfiguraci výchozího formátu DateFormat tak, aby jej používal v době serializace časových hodnot jako řetězců nebo de-serializace z řetězců JSON. |
| setDefaultPrettyPrinter(PrettyPrinter pp) | ObjectMapper | Používá se k určení tiskárny PrettyPrinter, která se má používat, když je povoleno výchozí nastavení hezkého tisku. |
| setDefaultTyping(TypeResolverBuilder typer) | ObjectMapper | Používá se k povolení automatického zahrnutí informací o typu. |
| setHandlerInstantiator(HandlerInstantiator ahoj) | Objekt | Používá se ke konfiguraci HandlerInstantiator pro použití pro vytváření instancí handlerů. |
| setFilterProvider(FilterProvider filterProvider) | ObjectMapper | Používá se ke konfiguraci aktuálního mapovače tak, aby používal zadaný FilterProvider pro mapování ID filtrů na skutečné instance filtru. |
| setInjectableValues(InjectableValues injectableValues) | ObjectMapper | Používá se ke konfiguraci InjectableValues, která se používá k nalezení hodnot pro injekci. |
| setLocale(Local l) | ObjectMapper | Používá se k přepsání výchozího národního prostředí pro formátování. |
| setMixInResolver(ClassIntrospector.MixInResolver resolve) | ObjectMapper | Tuto metodu používáme ke specifikaci daného překladače k nalezení smíšených tříd, které se mají použít, přičemž přepíše přímo přidaná mapování. |
| setMixInAnnotations(Map | prázdnota | Je to odepisovaná metoda pro definování smíšené anotace. |
| setNodeFactory(JsonNodeFactory f) | ObjectMapper | Používá se k určení JsonNodeFactory, který se má použít pro konstrukci uzlů stromu na kořenové úrovni. |
| setMixIns(Map | ObjectMapper | Používá se k definování smíšených anotací, které se mají použít pro rozšiřování anotací, které mají zpracovatelné třídy. |
| setPropertyInclusion(JsonInclude.Value incl) | ObjectMapper | Používá se k nastavení výchozí strategie zahrnutí vlastností POJO pro serializaci. |
| setPropertyNamingStrategy(PropertyNamingStrategy s) | ObjectMapper | Používá se k nastavení strategie pojmenování vlastních vlastností, která se má použít. |
| setSerializerFactory(SerializerFactory f) | ObjectMapper | Používá se k nastavení konkrétní SerializerFactory, která se má použít pro vytváření (bean) serializátorů. |
| setSerializerProvider(VýchozíSerializerProvider p) | ObjectMapper | Používá se k nastavení „návrhu“ instance SerializerProvider pro její použití jako základ pro skutečné instance poskytovatele, které se mají použít pro zpracování mezipaměti instancí JsonSerializer. |
| setSubtypeResolver(SubtypeResolver str) | ObjectMapper | Používá se k nastavení vlastního překladače podtypů, který se má použít. |
| setTimeZone (TimeZone tz) | ObjectMapper | Používá se k přepsání výchozího časového pásma pro formátování. |
| setTypeFactory(TypeFactory f) | ObjectMapper | Používá se k přepsání instance TypeFactory, kterou používá aktuální mapovač. |
setVisibility(PropertyAccessor forMethod, viditelnost JsonAutoDetect.Visibility)
| ObjectMapper | SetVisibility() a její variace se používají k nastavení aktuálně nakonfigurovaného VisibilityCheckeru. Vrácená instance ObjectMapper se používá ke kontrole, zda daný prvek vlastnosti může být automaticky detekován nebo ne. |
| treeAsTokens(TreeNode n) | JsonParser | Používá se ke konstrukci JsonParser z reprezentace stromu JSON. |
| treeToValue(TreeNode n, Class valueType) | T | Používá se k navázání dat, která daný strom JSON obsahuje, do určitého typu hodnoty. |
| verze() | Verze | Používá se k získání informací o verzi uložených a načtených z jaru, který obsahuje tuto třídu. |
spisovatel()
| ObjectWriter | Write() a její variace se používají ke konstrukci ObjectWriter s výchozím nastavením, s danou variantou kódování Base64 pro binární data kódovaná Base64, detaily o kódování znaků pro výstup, výchozí atributy, DateFormat, poskytovatel filtru, objekt schématu do JsonGenerator používaného pro zápis obsahu, pěkná tiskárna pro odsazení nebo povolenou funkci. |
| writeFor(Class rootType) - | ObjectWriter | Používá se ke konstrukci ObjectWriter pro serializaci objektů pomocí zadaného kořenového typu namísto skutečného typu hodnoty za běhu. |
| spisovatelFor (JavaType rootType) | ObjectWriter | Používá se ke konstrukci ObjectWriter pro serializaci objektů pomocí zadaného kořenového typu namísto skutečného typu hodnoty za běhu. |
| WriteFor(TypeReference rootType) | ObjectWriter | Používá se ke konstrukci ObjectWriter pro serializaci objektů pomocí zadaného kořenového typu namísto skutečného typu hodnoty za běhu. |
| spisovatelWithDefaultPrettyPrinter() | ObjectWriter | Je to tovární metoda, která se používá ke konstrukci ObjectWriter pro serializaci objektů pomocí docela výchozí tiskárny pro odsazení. |
spisovatelWithType (kořenový typ třídy)
| ObjectWriter | Tyto metody jsou odepisovány a místo nich používáme metodu writeFor(TypeReference). |
| WriterWithView (Seriálové zobrazení třídy) | ObjectWriter | Je to tovární metoda, která se používá ke konstrukci ObjectWriter pro serializaci objektů pomocí zadaného zobrazení JSON. |
| writeTree(JsonGenerator jgen, JsonNode rootNode) | prázdnota | Používá se pro serializaci poskytnutého stromu JSON pomocí daného JsonGeneratoru. |
| writeValue(File resultFile, Object value) | prázdnota | Slouží k serializaci hodnoty Java jako výstupu JSON a jejímu zápisu do daného soubor. |
| writeValue(JsonGenerator g, Hodnota objektu). | prázdnota | Používá se k serializaci hodnot Java jako výstupu JSON pomocí daného JsonGenerator. |
| writeValue(OutputStream out, Hodnota objektu) | prázdnota | Používá se k serializaci hodnoty Java jako výstupu JSON pomocí daného OutputStream. |
| writeValue(Writer w, Hodnota objektu) | prázdnota | Používá se k serializaci hodnot Java jako výstupu JSON pomocí daného Spisovatel. |
| writeValueAsBytes(hodnota objektu) | byte[] | Používá se pro serializaci hodnot Java jako bajtové pole. |
| writeValueAsString(hodnota objektu) | Tětiva | Používá se pro serializaci hodnot Java jako řetězec. |
JacksonExample.java
//import required classes and package if any package javaTpoint.Jackson; import java.io.IOException; import java.util.List; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; //create class JacksonExample to understand implementation of Jackson public class JacksonExample { // main() method start public static void main(String args[]){ // create an instance of ObjectMapper class ObjectMapper mapper = new ObjectMapper(); // create a JSON string of employee details to deserilized object String stdString = '{
'students' : [
{
'stdId':'001',
'course':'MCA','+'
'firstName':'Nicholas',
'lastName':'Clemens',
'preferredFullName':'Nicholas Clemens','+'
'enrol':'S010',
'region':'indian',
'phoneNumber':'408-1234567',
'emailAddress''+':'[email protected]'
},
{
'stdId':'002',
'course':'BCA','+'
'firstName':'Sharon',
'lastName':'Lorenz',
'preferredFullName':'Sharon Lorenz','+'
'enrol':'S011',
'region':'indian',
'phoneNumber':'408-1111111',
'emailAddress''+':'[email protected]'
},
{
'stdId':'003',
'course':'Btech','+'
'firstName':'Brittany',
'lastName':'Hart',
'preferredFullName':'Brittany Hart',
''+'enrol':'S012',
'region':'indian',
'phoneNumber':'408-2222222',
'emailAddress':'[email protected]'
}
]
}'; try{ // use ObjectMapper for mapping JSON to Student Students students = mapper.readValue(stdString, Students.class); // print students System.out.println(students); // serialize students into json string stdString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(students); System.out.println(stdString); }catch (JsonParseException e) { e.printStackTrace(); }catch (JsonMappingException e) { e.printStackTrace(); }catch (IOException e) { e.printStackTrace(); } } } //create Students class class Students { public List students; // getter and setter public List getStudent() { return students; } public void setStudent(List students) { this.students = students; } } class Student { // declare variables private String stdId; private String course; private String firstName; private String lastName; private String preferredFullName; private String enrol; private String region; private String phoneNumber; private String emailAddress; public Student(){ } // getter/setters for all variables public String getStdId() { return stdId; } public void setStdId(String stdId) { this.stdId = stdId; } public String getCourse() { return course; } public void getCourse(String course) { this.course = course; } public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public String getPreferredFullName() { return preferredFullName; } public void setPreferredFullName(String preferredFullName) { this.preferredFullName = preferredFullName; } public String getEnrol() { return enrol; } public void setEnrol(String enrol) { this.enrol = enrol; } public String getRegion() { return region; } public void setRegion(String region) { this.region = region; } public String getPhoneNumber() { return phoneNumber; } public void setPhoneNumber(String phoneNumber) { this.phoneNumber = phoneNumber; } public String getEmailAddress() { return emailAddress; } public void setEmailAddress(String emailAddress) { this.emailAddress = emailAddress; } public String toString(){ return 'Employee [ Student Id: '+stdId+', Course: '+course+ '' + ', First Name: '+firstName+ ', Last Name: '+lastName+ '' + ', Name: '+preferredFullName+ ', Enrol No: '+enrol+ '' + ', Region: '+region+ ', Phone Number: '+phoneNumber+ '' + ', Email Address: '+emailAddress+ ' ]'; } } Výstup: