Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package cz.mendelu.pjj.xloksik;
- import java.io.File;
- import java.math.BigDecimal;
- import cz.mendelu.pjj.*;
- import cz.mendelu.pjj.Product.Category;
- /**
- * trieda MyProduct implementujúca rozhranie {@link Product}
- * @author Michal Lokšík
- * @version 19.11.2012
- */
- public class MyProduct implements Product {
- private String productName; /* premenná uchovávajúca meno produktu */
- private BigDecimal prize; /* premenná uchovávajúca cenu produktu */
- private final Category category; /* premenná uchovávajúca kategóriu produktu */
- private File pictureFile; /* premenná uchovávajúca cestu k obrázku súboru */
- /**
- * konstruktor triedy MyProduct
- * @param productName
- * @param prize
- * @param category
- * @param pictureName
- */
- public MyProduct(String productName, double prize, String pictureName, Category category ) {
- super();
- this.productName = productName;
- this.prize = BigDecimal.valueOf(prize);
- this.category = category;
- String aktDir = System.getProperty("user.dir"); /* zistenie mojho aktualneho pracovneho adresara */
- /**
- * vytvorenie instancie triedy File
- * adresa sa sklada z ...\src\cz\mendelu\pjj\xloksik\+parameter z konstruktoru (nazov suboru.pripona)
- */
- this.pictureFile = new File(aktDir + File.separator + "src" + File.separator + "cz" + File.separator + "mendelu" + File.separator + "pjj" + File.separator + "xloksik" + File.separator + pictureName);
- // pre kontrolu System.out.println(pictureFile.getAbsolutePath());
- }
- /**
- * metóda vracajúca názov produktu
- */
- @Override
- public String getName() {
- return productName;
- }
- /**
- * metóda vracajúca cenu produktu
- */
- @Override
- public BigDecimal getPrize() {
- return prize;
- }
- /**
- * metóda vracajúca adresu obrázku produktu
- */
- @Override
- public File getPictureFile() {
- return pictureFile;
- }
- /**
- * metóda vracajúca kategóriu produktu
- */
- @Override
- public Category getCategory() {
- return category;
- }
- /**
- * prekrytie metody equals()
- */
- @Override
- public boolean equals(Object o) {
- if (o == this){
- return true;
- }
- if (!(o instanceof MyProduct)){
- return false;
- }
- MyProduct mp = (MyProduct)o;
- return mp.productName == productName; /* vrati boolean */
- }
- /**
- * prekrytie metody hashCode()
- */
- @Override
- public int hashCode() {
- int vysledok = productName.hashCode();
- return vysledok;
- }
- enum MyCategory implements Category {
- ovocie, zelenina, pecivo, maso, alkohol
- }
- /**
- * nasledujuci kod sluzi len na otestovanie funkcnosti niektorych metod a nie je sucastou vypracovania zadania ulohy !!!
- */
- @Override
- public String toString() {
- return "MyProduct [productName=" + productName + ", prize=" + prize
- + ", category=" + category + ", pictureFile=" + pictureFile
- + "]";
- }
- public static void main(String[] args) {
- MyProduct rozok = new MyProduct("rozek", 5.0, "bear.jpg", MyCategory.pecivo);
- MyProduct banan = new MyProduct("rozek", 6.0, "banan.jpg", MyCategory.ovocie); /* rovnake meno ako objekt rozok */
- System.out.println(rozok.toString()); /* vypis info o rozku */
- System.out.println(banan.toString()); /* vypis info o banane */
- System.out.println(rozok.equals(banan)); /* porovnanie rozku a bananu ... mali by sa rovnat pretoze maju rovnake mena */
- System.out.println(rozok.hashCode()); /* hashcody budu rovnake */
- System.out.println(banan.hashCode());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment