JavaBean
Siirry navigaatioon
Siirry hakuun
Tämän artikkelin tai sen osan kieliasua on pyydetty parannettavaksi. Voit auttaa Wikipediaa parantamalla artikkelin kieliasua. Tarkennus: paikoin käsittämätöntä sekakieltä |
Tähän artikkeliin tai osioon ei ole merkitty lähteitä, joten tiedot kannattaa tarkistaa muista tietolähteistä. Voit auttaa Wikipediaa lisäämällä artikkeliin tarkistettavissa olevia lähteitä ja merkitsemällä ne ohjeen mukaan. |
JavaBean on Java-ohjelmointikielellä toteutettu uudelleenkäytettävä ohjelmakomponentti, joita käytetään tiedon käsittelyyn. JavaBeanit ovat tavallisia luokkia, jotka noudattavat tiettyä nimeämiskäytäntöä. Nimeämiskäytännön noudattaminen mahdollistaa JavaBeanien sisältämän tiedon yhtenäisen käsittelyn erilaisissa työkaluissa.
JavaBeaneilla on kolme pääasiallista kriteeriä:
- Luokalla pitää olla julkinen oletusrakentaja; esimerkiksi luokalla Luokka pitää olla rakentaja public Luokka(). Tämä mahdollistaa luokkien instantaation työkaluissa.
- Luokan jäsenmuuttujien pitää olla luettavissa ja asetettavissa get/set-metodien kautta, ja näiden tulee olla nimetty tietyn kaavan mukaan. Esimerkiksi jäsenmuuttuja protected String nimi pitää olla luettavissa metodin public String getNimi() kautta, ja asetettavissa metodin public void setNimi(String nimi) kautta. Tämä mahdollistaa olion tietojen muuttamisen työkaluissa.
- Luokan pitää olla serialisoitavissa (implements java.io.Serializable). Tämä mahdollistaa olion tilan siirtämisen eri työkalujen välillä.
JavaBean ei ole ohjelmistokirjasto tai koodissa määritelty rajapinta, vaan pohjautuu kokonaan sovittuun käytäntöön.
Ominaisuudet
[muokkaa | muokkaa wikitekstiä]- Introspektio
- introspektio on prosessi, jossa Beania analysoidaan sen kykyjen määrittämiseksi. Tämä on Java Beans -määrityksen olennainen ominaisuus, koska sen avulla toinen sovellus, kuten suunnittelutyökalu, voi saada tietoja komponentista.
- Ominaisuudet
- Ominaisuus on Beanin tilan osajoukko. Ominaisuuksille määritetyt arvot määrittävät kyseisen komponentin käyttäytymisen ja ulkonäön. Ne asetetaan setteri-menetelmällä ja ne voidaan saada getteri-menetelmällä.
- Muokkaus
- Mukauttaja voi tarjota vaiheittaisen oppaan, jota prosessin on noudatettava käyttääkseen komponenttia tietyssä kontekstissa.
- Tapahtumat
- Beanit voivat olla vuorovaikutuksessa EventObject EventListener mallin kanssa.
- Pysyvyys
- Pysyvyys on kyky tallentaa Beanin nykyinen tila, mukaan lukein Beanin ominaisuuksien arvot ja instanssimuuttujat pysyvään tallennustilaan ja hakea ne myöhemmin.
- Metodit
- Beanin tulee käyttää apumenetelmiä ominaisuuksien säilömiseen. Bean voi tarjota muita menetelmiä liiketoimintalogiikkaan, jotka eivät liity ominaisuuksien käyttöön.
Hyödyt
[muokkaa | muokkaa wikitekstiä]- Beanin ominaisuudet, tapahtumat ja metodit voidaan nähdä toisessa sovelluksessa.
- Bean voi rekisteröityä vastaanottamaan tapahtumia muista objekteista ja voi generoida tapahtumia joita lähetetään näille muille objekteille.
- Apuohjelmistoa voidaan käyttää auttamaan beanin konfiguroimiseen
- Beanin konfiguraatioasetukset voidaan tallentaa pysyvään tallennustilaan ja palauttaa sieltä.
Haitat
[muokkaa | muokkaa wikitekstiä]- Luokka, jossa on nolla argumentti konstruktööriä, instantoituu virheelliseen tilaan.[1] Jos kehittäjä instantoi tällaisen luokan manuaalisesti (eikä automaattisesti jonkinlaisen kehyksen avulla), kehittäjä ei ehkä ymmärrä, että luokka on ilmennyt väärin. Kääntäjä ei voi havaita tällaista ongelmaa, ja vaikka se olisi dokumentoitu, ei ole taattu sitä, että kehittäjä näkee dokumentaation.
- JavaBeanit ovat luonnostaan muuttuvia, joten niiltä puttuu muuttumattomien objektien.[1] tarjoamat edut.
- Gettereiden tekeminen jokaiselle ominaisuudelle ja setterit monille tai kaikille niistä voi johtaa valtavaan määrään vakiokoodia.
JavaBeans API
[muokkaa | muokkaa wikitekstiä]JavaBeans-toiminnallisuuden tarjoavat joukko luokkia ja käyttöliittymiä java.beans
paketissa.
Käyttöliittymä | kuvaus |
---|---|
AppletInitializer | Tämän käyttöliittymän menetelmiä käytetään Beanin alustamiseen, jotka ovat myös java sovelmia. |
BeanInfo | Tämän käyttöliittymän avulla suunnittelija voi määrittää tietoja Beanin tapahtumista, metodeista ja ominaisuuksista |
Customizer | Tämän käyttöliittymän avulla suunnittelija voi tarjota graafisen käyttöliittymän, jonka kautta Bean voidaan konfiguroida |
DesignMode | Tämän käyttöliittymän metodit määrittävät, suoritetaanko Bean suunnittelutilassa |
ExceptionListener | Tämän käyttöliittymän metodeita kutsutaan, kun poikkeus on tapahtunut. |
PropertyChangeListener | Tämän käyttöliittymän menetelmä kutsutaan, kun sidottu ominaisuus muutetaan |
PropertyEditor | Tämän käyttöliittymän toteuttavat objektit antavat suunnittelijalle mahdollisuuden muuttaa ja näyttää ominaisuusarvoja |
VetoableChangeListener | Tämän käyttöliittymän menetelmä kutsutaan, kun Constrained-ominaisuutta muutetaan |
Visibility | Tämän käyttöliittymän menetelmät mahdollistavat Beanin suorittamisen ympäristöissä, joissa graafinen käyttöliittymä ei ole käytettävissä |
Lähteet
[muokkaa | muokkaa wikitekstiä]- ↑ a b Bloch, Joshua: Effective Java, s. 13. Second painos. Addison-Wesley, 2008. ISBN 978-0-321-35668-0 Teoksen verkkoversio.