| MyLoggable |
import log.Loggable;
import log.LogEntry;
import data.ooimpl.StoringStockItemDBEntry;
/**
* Definiert Die Schnittstelle <Code>Loggable</CODE>.
*/
public class MyLoggable implements Loggable
{
//// attributes ////////////////////////////////////////////////////////////
String name;
String customerID;
Object date;
boolean rent; // wird ein Ausleihvorgang(true)
// oder ein Rückgabevorgang(false) geloggt
//// constructor ///////////////////////////////////////////////////////////
/**
* Der Konstruktor legt ein neues Objekt der Klasse <CODE>MyLoggable</CODE>
* an, wobei der Konstruktor von <CODE>Loggable</CODE> aufgerufen wird,
* und die übergebenen Variablen zugewiesen werden. Diese sind
* wichtig für die Erstellung des Log-Eintrags.
*/
public MyLoggable(String name, String customerID, Object date)
{
super();
this.name = name;
this.customerID = customerID;
this.date = date;
rent = true;
}
/**
* Der Konstruktor wird vom GiveBackProcess aufgerufen,
* das LogEntry wird dadurch beeinflusst
*/
public MyLoggable(StoringStockItemDBEntry cassetteItem, Customer customer, Object date)
{
super();
name = cassetteItem.getSecondaryKey();
this.customerID = customer.getCustomerID();
this.date = date;
rent = false;
}
//// public methods ////////////////////////////////////////////////////////
/**
* Holt sich den Log-Eintrag, der aus den übergebenen Daten
* zusammengestellt wird. Dazu wird die extra implementierte
* Klasse <CODE>MyLogEntry</CODE> genutzt.
*/
public LogEntry getLogData()
{
return new MyLogEntry(name, customerID, date, rent);
}
}
/**
* Überschreibt die Klasse <Code>LogEntry</CODE> um einen
* selbstdefinierten Log-Eintrag zu ermöglichen.
*/
class MyLogEntry extends LogEntry
{
//// attributes ////////////////////////////////////////////////////////////
String name;
String customerID;
Object date;
boolean rent; // wird ein Ausleihvorgang(true)
// oder ein Rückgabevorgang(false) geloggt
//// constructor ///////////////////////////////////////////////////////////
/**
* Der Konstruktor legt ein neues Objekt der Klasse <CODE>MyLogEntry</CODE>
* an, wobei der Konstruktor von <CODE>LogEntry</CODE> aufgerufen wird,
* und die übergebenen Variablen zugewiesen werden. Diese sind
* wichtig für die Erstellung des Log-Eintrags.
*/
public MyLogEntry(String name, String customerID, Object date, boolean rent)
{
super();
this.name = name;
this.customerID = customerID;
this.date = date;
this.rent = rent;
}
//// public methods ////////////////////////////////////////////////////////
/**
* Spezifiziert das Aussehen des Log-Eintrags.
*/
public String toString()
{
if (rent)
return name + " rent by customer " + customerID + " (ID) at turn " + date;
else
return "customer "+ customerID + " (ID) gave back " + name + " at turn " + date;
}
}| MyLoggable |