summaryrefslogtreecommitdiffstats
path: root/Bachelor/ERGO/TierheimVerw/thv/Tier.java
blob: 8bac132fa12bd25bc4a89f46f31ea321ad8d6c87 (plain)
1
/**

 * <p>�berschrift: Tier</p>

 *

 * <p>Beschreibung: Klasse zum speichern eines Tieres</p>

 *

 * <p>Copyright: Copyright (c) 2005</p>

 *

 * <p>Organisation: </p>

 *

 * @author Andreas Spirka, Sven Eisenhauer

 * @version 1.0

 */

import java.io.*;
import java.util.*;
import java.text.DateFormat;
import java.text.ParseException;

public class Tier extends Observable implements Serializable {
        private int tierId;
        private String tierName;
		private int tierArt;
        private String rasse;
        private String farbe;
        private int alter;
		private String foto;
        private String sonstiges;
        private Date heimeintritt;
        private String impfung;
        private User mitarbeiter;
        private Date aenderung;
        private String befund;
        private User lastChanger;
		private boolean freigabe;
		private int geschlecht;
		public static final int TIERART_HUND=0;
		public static final int TIERART_KATZE=1;
		public static final int TIERART_SONSTIGES=2;
		public static final String[] GESCHLECHT = {"m","w"};
		public static final String[] TIERARTEN = {"Hund","Katze","Sonstiges"};
		
		/**
		 * 
		 */
		public Tier() {
            tierId=0;
            tierName="";
			tierArt=2;
            rasse= "";
            farbe="";
            alter=0;
			geschlecht=0;
			foto="";
			sonstiges = "";
			heimeintritt = new Date();
            impfung = "";
            mitarbeiter = null;
            aenderung = new Date();
            befund="";
            lastChanger=null;
			freigabe=false;
			notifyObservers();
		}
		
		/**
		 * @param tId
		 * @param tN
		 * @param iTArt
		 * @param tR
		 * @param tF
		 * @param tA
		 * @param tG
		 * @param fo
		 * @param tS
		 * @param tH
		 * @param tI
		 * @param ma
		 * @param bef
		 * @param lC
		 * @param f
		 */
		public Tier(int tId,
										String tN,
										int iTArt,
										String tR,
										String tF,
										int tA,
										int tG,
										String fo,
										String tS,
										//String tH,
										Date tH,
										String tI,
										User ma,
										//String tAE,
										String bef,
										User lC,
										boolean f)

        {
                tierId=tId;
                tierName=tN;
				tierArt=iTArt;
                rasse= tR;
                farbe=tF;
                alter=tA;
				geschlecht=tG;
				foto=fo;
				sonstiges = tS;
                heimeintritt = tH;
                impfung = tI;
                mitarbeiter = ma;
                //aenderung = tAE;
                aenderung = new Date();
                befund=bef;
                lastChanger=lC;
				freigabe=f;
				notifyObservers();
        }
        /**
         * @return String
         */
        public String getTierName() { return tierName; }
        /**
         * @return int
         */
        public int getTierID() { return tierId; }
        /**
         * @return String
         */
        public String getRasse() { return rasse; }
        /**
         * @return String
         */
        public String getFarbe() { return farbe; }
        /**
         * @return String
         */
        public String getSonstiges() { return sonstiges; }
        /**
         * @return int
         */
        public int getAlter() { return alter; }
        /**
         * @return String
         */
        public String getHeimeintritt() { return DateFormat.getDateInstance(DateFormat.SHORT).format(heimeintritt); }
        /**
         * @return String
         */
        public String getImpfung() { return impfung; }
        /**
         * @return User
         */
        public User getMitarbeiter() { return mitarbeiter; }
        /**
         * @return String
         */
        public String getAenderung() { return DateFormat.getDateInstance(DateFormat.SHORT).format(aenderung); }
        /**
         * @return String
         */
        public String getBefund() { return befund; }
		/**
		 * @return User
		 */
		public User getChanger() { return lastChanger; }
		/**
		 * @return int
		 */
		public int getTierart() { return tierArt; }
		/**
		 * @return String
		 */
		public String getFoto() { return foto; }
		/**
		 * @return boolean
		 */
		public boolean getFreigabe() { return freigabe; }
		/**
		 * @return int
		 */
		public int getGeschlecht() { return geschlecht; }
		/**
		 * @param s String
		 */
		public void setTierName(String s) { tierName=s; notifyObservers(); }
		/**
		 * @param i int
		 */
		public void setTierID(int i) { tierId=i; notifyObservers(); }
		/**
		 * @param i int
		 */
		public void setTierArt(int i) { tierArt=i; notifyObservers(); }
		/**
		 * @param s String
		 */
		public void setTierArt(String s) 
		{ 
			for (int i=0;i<TIERARTEN.length;i++) {
				if (s.equals(TIERARTEN[i]))
							 tierArt=i;
			} 
			notifyObservers(); 
		}
		/**
		 * @param s String
		 */
		public void setRasse(String s) { rasse=s; notifyObservers(); }
		/**
		 * @param s String
		 */
		public void setFarbe(String s) { farbe=s; notifyObservers(); }
		/**
		 * @param s String
		 */
		public void setSonstiges(String s) { sonstiges=s; notifyObservers(); }
		/**
		 * @param i int
		 */
		public void setAlter(int i) { alter=i; notifyObservers(); }
		/**
		 * @param s String
		 */
		public void setAlter(String s) 
		{
			String regexp = "[0-9]+";
			if(s.matches(regexp))
				alter=Integer.parseInt(s);
			else
				alter=getAlter();	
			notifyObservers(); 
		}
		/**
		 * @param i int
		 */
		public void setGeschlecht(int i) { geschlecht=i; notifyObservers(); }
		/**
		 * @param s String
		 */
		public void setGeschlecht(String s) 
		{ 
			for (int i=0;i<GESCHLECHT.length;i++) {
				if (s.equals(GESCHLECHT[i]))
					geschlecht=i;
			}
			notifyObservers(); 
		}
		/**
		 * @param s String
		 */
		public void setHeimeintritt(String s)
		{
			try {
				heimeintritt=DateFormat.getDateInstance(DateFormat.SHORT).parse(s); 
			} catch (ParseException pe) {}
			notifyObservers(); 
		}
		/**
		 * @param s String
		 */
		public void setImpfung(String s) { impfung=s; notifyObservers(); }
		/**
		 * @param u User
		 */
		public void setMitarbeiter(User u) { mitarbeiter=u; notifyObservers(); }
		/**
		 * @param s String
		 */
		public void setMitarbeiter(String s) 
		{
			try {
				String fName="user.dat";
				FileInputStream fis = new FileInputStream(fName);
				ObjectInputStream ois = new ObjectInputStream(fis);
				UserCon users = (UserCon) ois.readObject();
				ois.close();
				fis.close();
				for (int i=0;i<users.size();i++)
				{
					User u = (User) users.elementAt(i);
					if (u.getUserName().equals(s))
					{
						mitarbeiter = u;
						break;
					}
				}
			} catch (Exception exception) { exception.printStackTrace(); }
			notifyObservers(); 
		}
		/**
		 * @param s String
		 */
		public void setAenderung(String s) { aenderung=new Date(); notifyObservers(); }
		/**
		 * @param s String
		 */
		public void setBefund(String s) { befund=s; notifyObservers(); }
		/**
		 * @param u User
		 */
		public void setChanger(User u) { lastChanger=u; notifyObservers(); }
		/**
		 * @param s String
		 */
		public void setChanger(String s)
		{
			try {
				String fName="user.dat";
				FileInputStream fis = new FileInputStream(fName);
				ObjectInputStream ois = new ObjectInputStream(fis);
				UserCon users = (UserCon) ois.readObject();
				ois.close();
				fis.close();
				for (int i=0;i<users.size();i++)
				{
					User u = (User) users.elementAt(i);
					if (u.getUserName().equals(s))
					{
						mitarbeiter = u;
						break;
					}
				}
			} catch (Exception exception) { exception.printStackTrace(); }
			notifyObservers(); 
		}
		/**
		 * @param s String
		 */
		public void setFoto(String s) {foto=s; notifyObservers();}
		/**
		 * @param b boolean
		 */
		public void setFreigabe(boolean b) {freigabe=b; notifyObservers();}
		/**
		 * @param s String
		 */
		public void setFreigabe(String s) 
		{
			if ( s.equals("true") )
				freigabe=true;
			else
				freigabe=false;
			notifyObservers();
		}
		/**
		 * @param t Tier
		 */
		public void setTier(Tier t)
		{
            tierId=t.getTierID();
            tierName=t.getTierName();
			tierArt=t.getTierart();
            rasse= t.getRasse();
            farbe=t.getFarbe();
            alter=t.getAlter();
			geschlecht=t.getGeschlecht();
			foto=t.getFoto();
			sonstiges = t.getSonstiges();
			try {
				heimeintritt = DateFormat.getDateInstance(DateFormat.SHORT).parse(t.getHeimeintritt());
			} catch (ParseException pe) {}
            impfung = t.getImpfung();
            mitarbeiter = t.getMitarbeiter();
            try {
            	aenderung = DateFormat.getDateInstance(DateFormat.SHORT).parse(t.getAenderung());
            } catch (ParseException pe) {}
            befund=t.getBefund();
            lastChanger=t.getChanger();
			freigabe=t.getFreigabe();
			notifyObservers();
		}
}