Package library.impl

Class Library

java.lang.Object
library.impl.Library
All Implemented Interfaces:
java.io.Serializable

public class Library
extends java.lang.Object
implements java.io.Serializable
A tárolt adatokat összefogó osztály. Ez az osztály kezeli a szerializációt és a deszerializációt.
See Also:
Serialized Form
  • Field Summary

    Fields 
    Modifier and Type Field Description
    private BookData bookData
    A könyvek adatait tároló táblázat modellje.
    private java.util.List<Book> books
    A tárolt könyvek listája.
    private MemberData memberData
    A tagok adatait tartalmazó táblázat modellje.
    private java.util.List<Member> members
    A tárolt tagok listája.
    private java.lang.String serializationPath
    A szerializált adatok mentési helye.
    private static long serialVersionUID
    A szerializációhoz használt egyedi osztályazonosító.
  • Constructor Summary

    Constructors 
    Constructor Description
    Library()
    Konstruktor
  • Method Summary

    Modifier and Type Method Description
    boolean addBook​(java.lang.String author, java.lang.String title, java.lang.String year, BookCategory category, java.lang.String language, boolean isBorrowable)
    A könyvtárhoz ad egy könyvet, ha a megadott adatai helyesek.
    boolean addMember​(java.lang.String name, java.lang.String dob, java.lang.String phone)
    Hozzáad egy tagot a programhoz.
    boolean editMember​(Member member, java.lang.String name, java.lang.String dob, java.lang.String phone)
    Szerkeszti egy tag adatait.
    BookData getBookData()
    Visszaadja a könyveket tartalmazó táblázat modelljét.
    java.util.List<Book> getBooks()
    Visszaadja a könyveket tartalmazó listát.
    MemberData getMemberData()
    Visszaadja a tagokat tartalmazó táblázat modelljét.
    java.util.List<Member> getMembers()
    Visszaadja a tagokat tartalmazó listát.
    java.lang.String getSerializationPath()
    Visszaadja az adatok mentésének elérési útját.
    void initTransientVariables​(java.lang.String serializationPath)
    Inicializálja a nem szerializált adattagokat.
    static Library readDataFromFile​(Library library)
    Beolvas egy könyvtár objektumot adatfájlból.
    void remove​(Book book)
    Eltávolít egy könyvet a programból.
    void remove​(Member member)
    Eltávolít egy tagot a programból.
    void saveData()
    Szerializálja a könyvtár objektumot
    void saveData​(java.lang.String serializationPath)
    Szerializálja a könyvtár objektumot.
    void saveDataAs​(java.lang.String serializationPath)
    Szerializálja a könyvtár objektumot a megadott helyre.
    javax.swing.RowSorter<BookData> search​(java.lang.String searchFor, boolean searchInAuthor)
    Megvalósítja a keresés funkciót a tárolt könyvek között.
    void setSerializationPath​(java.lang.String serializationPath)
    Beállítja az adatmentés helyét.
    javax.swing.RowSorter<BookData> showBorrowedOnly()
    A könyvek táblázatában csak a kölcsönzött könyveket mutatja.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      A szerializációhoz használt egyedi osztályazonosító.
      See Also:
      Constant Field Values
    • books

      private final java.util.List<Book> books
      A tárolt könyvek listája.
    • members

      private final java.util.List<Member> members
      A tárolt tagok listája.
    • bookData

      private transient BookData bookData
      A könyvek adatait tároló táblázat modellje.
    • memberData

      private transient MemberData memberData
      A tagok adatait tartalmazó táblázat modellje.
    • serializationPath

      private transient java.lang.String serializationPath
      A szerializált adatok mentési helye.
  • Constructor Details

    • Library

      public Library()
      Konstruktor
  • Method Details

    • getBooks

      public java.util.List<Book> getBooks()
      Visszaadja a könyveket tartalmazó listát.
      Returns:
      A könyveket tartalmazó lista
    • getMembers

      public java.util.List<Member> getMembers()
      Visszaadja a tagokat tartalmazó listát.
      Returns:
      A tagokat tartalmazó lista.
    • getBookData

      public BookData getBookData()
      Visszaadja a könyveket tartalmazó táblázat modelljét.
      Returns:
      A könyveket tartalmazó táblázat modellje
    • getMemberData

      public MemberData getMemberData()
      Visszaadja a tagokat tartalmazó táblázat modelljét.
      Returns:
      A tagokat tartalmazó táblázat modellje
    • getSerializationPath

      public java.lang.String getSerializationPath()
      Visszaadja az adatok mentésének elérési útját.
      Returns:
      Az adatok mentésének elérési útja
    • setSerializationPath

      public void setSerializationPath​(java.lang.String serializationPath)
      Beállítja az adatmentés helyét.
      Parameters:
      serializationPath - Az új elérési út
    • initTransientVariables

      public void initTransientVariables​(java.lang.String serializationPath)
      Inicializálja a nem szerializált adattagokat.
      Parameters:
      serializationPath - A szerializálás elérési útvonala
    • saveData

      public void saveData​(java.lang.String serializationPath)
      Szerializálja a könyvtár objektumot.
      Parameters:
      serializationPath - A szerializálás elérési útvonala
    • saveData

      public void saveData()
      Szerializálja a könyvtár objektumot
    • saveDataAs

      public void saveDataAs​(java.lang.String serializationPath)
      Szerializálja a könyvtár objektumot a megadott helyre. Mentés előtt ellenőrzi, hogy létezik-e egyező nevű fájl a célkönyvtárban. Ha igen, akkor megkérdezi a felhasználót, hogy felülírja-e.
      Parameters:
      serializationPath - A mentés helye
    • readDataFromFile

      public static Library readDataFromFile​(Library library)
      Beolvas egy könyvtár objektumot adatfájlból.
      Parameters:
      library - A felülírandó Library objektum
      Returns:
      A beolvasott Library objektum, ha a fájl nem található, új üres könyvtárat hoz létre
    • search

      public javax.swing.RowSorter<BookData> search​(java.lang.String searchFor, boolean searchInAuthor)
      Megvalósítja a keresés funkciót a tárolt könyvek között.
      Parameters:
      searchFor - A string, amit keresünk
      searchInAuthor - Igaz, ha a szerző nevében is szeretnénk keresni
      Returns:
      A RowSorter, amit használva megjelennek a keresés eredményei
    • showBorrowedOnly

      public javax.swing.RowSorter<BookData> showBorrowedOnly()
      A könyvek táblázatában csak a kölcsönzött könyveket mutatja.
      Returns:
      A RowSorter, amit használva csak a kölcsönzött könyvek lesznek láthatóak
    • addBook

      public boolean addBook​(java.lang.String author, java.lang.String title, java.lang.String year, BookCategory category, java.lang.String language, boolean isBorrowable)
      A könyvtárhoz ad egy könyvet, ha a megadott adatai helyesek.
      Parameters:
      author - A könyv szerzője
      title - A könyv címe
      year - A könyv kiadási éve
      category - A könyv típusa
      language - A könyv nyelve
      isBorrowable - A könyv kölöcsönözhetősége
      Returns:
      Igaz, ha a könyv adatai érvényesek voltak és a hozzáadás sikerült, egyébként hamis
    • remove

      public void remove​(Book book)
      Eltávolít egy könyvet a programból.
      Parameters:
      book - Az eltávolítandó Book objektum
    • addMember

      public boolean addMember​(java.lang.String name, java.lang.String dob, java.lang.String phone)
      Hozzáad egy tagot a programhoz.
      Parameters:
      name - A tag neve
      dob - A tag születési ideje
      phone - A tag telefonszáma
    • editMember

      public boolean editMember​(Member member, java.lang.String name, java.lang.String dob, java.lang.String phone)
      Szerkeszti egy tag adatait.
      Parameters:
      member - A tag, akinek az adatait módosítani szeretnénk
      name - A tag új neve
      dob - A tag új születési dátuma
      phone - A tag új telefonszáma
      Returns:
      Igaz, ha a módosítást sikerült végrehajtani
    • remove

      public void remove​(Member member)
      Eltávolít egy tagot a programból.
      Parameters:
      member - Az eltávolítandó tag