// Path: core/client/src/main/java/de/danner_web/studip_client/data/LogItem.java
// public class LogItem {
// 
// 	private Date date;
// 
// 	private String pluginName;
// 
// 	private String content;
// 
// 	public LogItem(Date time, String pluginName, String content) {
// 		this.date = time;
// 		this.pluginName = pluginName;
// 		this.content = content;
// 	}
// 
// 	/**
// 	 * @return the date
// 	 */
// 	public Date getDate() {
// 		return date;
// 	}
// 
// 	/**
// 	 * @param date
// 	 *            the date to set
// 	 */
// 	public void setDate(Date date) {
// 		this.date = date;
// 	}
// 
// 	/**
// 	 * @return the pluginName
// 	 */
// 	public String getPluginName() {
// 		return pluginName;
// 	}
// 
// 	/**
// 	 * @param pluginName
// 	 *            the pluginName to set
// 	 */
// 	public void setPluginName(String pluginName) {
// 		this.pluginName = pluginName;
// 	}
// 
// 	/**
// 	 * @return the content
// 	 */
// 	public String getContent() {
// 		return content;
// 	}
// 
// 	/**
// 	 * @param content
// 	 *            the content to set
// 	 */
// 	public void setContent(String content) {
// 		this.content = content;
// 	}
// 
// }
// 
// Path: core/client/src/main/java/de/danner_web/studip_client/data/PluginMessage.java
// public abstract class PluginMessage {
// 
// 	private List<ClickListener> listeners = new ArrayList<ClickListener>();
// 	
// 	private ClickListener showDetailView = new ClickListener() {
// 
// 		@Override
// 		public void onClick(PluginMessage message) {
// 			new PluginMessageDetailsView(message);
// 		}
// 	};
// 	
// 	public PluginMessage(ClickListener listener) {
// 		if (listener != null) {
// 			listeners.add(listener);
// 		}
// 	}
// 
// 	public void setShowDetailView(boolean b) {
// 		if (b) {
// 			if(!this.listeners.contains(showDetailView)){
// 				this.listeners.add(showDetailView);
// 			}
// 		} else {
// 			if(this.listeners.contains(showDetailView)){
// 				this.listeners.remove(showDetailView);
// 			}
// 		}
// 	}
// 
// 	public abstract String getText();
// 
// 	public abstract String getHeader();
// 
// 	public void addMessageListener(ClickListener listener) {
// 		if (listener != null) {
// 			this.listeners.add(listener);
// 		}
// 	}
// 
// 	public List<ClickListener> getMessageListener() {
// 		return listeners;
// 	}
// 
// 	public abstract int hashCode();
// 
// 	public abstract boolean equals(Object obj);
// 
// }


import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.Observable;
import java.util.ResourceBundle;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import de.danner_web.studip_client.data.LogItem;
import de.danner_web.studip_client.data.PluginMessage;
package de.danner_web.studip_client.model;




public class Model extends Observable {

	/**
	 * Logger dieser Klasse.
	 */
	private static Logger logger = LogManager.getLogger(Model.class);

	private static final int MAX_LOG_MESSAGES = 100;

	/**
	 * Speichert das zur Lokalisierung der Clientanwendung verwendete
	 * <code>Locale</code>.
	 */
	private Locale currentLocale;

	private PluginModel pluginModel;

	private SettingsModel settings;

// Path: core/client/src/main/java/de/danner_web/studip_client/data/LogItem.java
// public class LogItem {
// 
// 	private Date date;
// 
// 	private String pluginName;
// 
// 	private String content;
// 
// 	public LogItem(Date time, String pluginName, String content) {
// 		this.date = time;
// 		this.pluginName = pluginName;
// 		this.content = content;
// 	}
// 
// 	/**
// 	 * @return the date
// 	 */
// 	public Date getDate() {
// 		return date;
// 	}
// 
// 	/**
// 	 * @param date
// 	 *            the date to set
// 	 */
// 	public void setDate(Date date) {
// 		this.date = date;
// 	}
// 
// 	/**
// 	 * @return the pluginName
// 	 */
// 	public String getPluginName() {
// 		return pluginName;
// 	}
// 
// 	/**
// 	 * @param pluginName
// 	 *            the pluginName to set
// 	 */
// 	public void setPluginName(String pluginName) {
// 		this.pluginName = pluginName;
// 	}
// 
// 	/**
// 	 * @return the content
// 	 */
// 	public String getContent() {
// 		return content;
// 	}
// 
// 	/**
// 	 * @param content
// 	 *            the content to set
// 	 */
// 	public void setContent(String content) {
// 		this.content = content;
// 	}
// 
// }
// 
// Path: core/client/src/main/java/de/danner_web/studip_client/data/PluginMessage.java
// public abstract class PluginMessage {
// 
// 	private List<ClickListener> listeners = new ArrayList<ClickListener>();
// 	
// 	private ClickListener showDetailView = new ClickListener() {
// 
// 		@Override
// 		public void onClick(PluginMessage message) {
// 			new PluginMessageDetailsView(message);
// 		}
// 	};
// 	
// 	public PluginMessage(ClickListener listener) {
// 		if (listener != null) {
// 			listeners.add(listener);
// 		}
// 	}
// 
// 	public void setShowDetailView(boolean b) {
// 		if (b) {
// 			if(!this.listeners.contains(showDetailView)){
// 				this.listeners.add(showDetailView);
// 			}
// 		} else {
// 			if(this.listeners.contains(showDetailView)){
// 				this.listeners.remove(showDetailView);
// 			}
// 		}
// 	}
// 
// 	public abstract String getText();
// 
// 	public abstract String getHeader();
// 
// 	public void addMessageListener(ClickListener listener) {
// 		if (listener != null) {
// 			this.listeners.add(listener);
// 		}
// 	}
// 
// 	public List<ClickListener> getMessageListener() {
// 		return listeners;
// 	}
// 
// 	public abstract int hashCode();
// 
// 	public abstract boolean equals(Object obj);
// 
// }


// Path: core/client/src/main/java/de/danner_web/studip_client/model/Model.java
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.Observable;
import java.util.ResourceBundle;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import de.danner_web.studip_client.data.LogItem;
import de.danner_web.studip_client.data.PluginMessage;

package de.danner_web.studip_client.model;




public class Model extends Observable {

	/**
	 * Logger dieser Klasse.
	 */
	private static Logger logger = LogManager.getLogger(Model.class);

	private static final int MAX_LOG_MESSAGES = 100;

	/**
	 * Speichert das zur Lokalisierung der Clientanwendung verwendete
	 * <code>Locale</code>.
	 */
	private Locale currentLocale;

	private PluginModel pluginModel;

	private SettingsModel settings;

	private List<LogItem> loggingList;