/**
 * 
 */
package de.bstly.board.controller.model;

import java.time.Instant;
import java.util.List;

import de.bstly.board.model.support.EntryType;
import de.bstly.board.model.support.FlaggedStatus;

/**
 * The Class EntryFilter.
 */
public class EntryFilter {

	private Instant date;
	private FlaggedStatus flaggedStatus;
	private List<String> tags;
	private List<String> excludedTags;
	private List<String> fixedTags;
	private List<String> fixedExcludedTags;
	private EntryType entryType;
	private String additional;

	/**
	 * Gets the date.
	 *
	 * @return the date
	 */
	public Instant getDate() {
		return date;
	}

	/**
	 * Sets the date.
	 *
	 * @param date the new date
	 */
	public void setDate(Instant date) {
		this.date = date;
	}

	/**
	 * Gets the flagged status.
	 *
	 * @return the flagged status
	 */
	public FlaggedStatus getFlaggedStatus() {
		return flaggedStatus;
	}

	/**
	 * Sets the flagged status.
	 *
	 * @param flaggedStatus the new flagged status
	 */
	public void setFlaggedStatus(FlaggedStatus flaggedStatus) {
		this.flaggedStatus = flaggedStatus;
	}

	/**
	 * Gets the tags.
	 *
	 * @return the tags
	 */
	public List<String> getTags() {
		return tags;
	}

	/**
	 * Sets the tags.
	 *
	 * @param tags the new tags
	 */
	public void setTags(List<String> tags) {
		this.tags = tags;
	}

	/**
	 * Gets the excluded tags.
	 *
	 * @return the excluded tags
	 */
	public List<String> getExcludedTags() {
		return excludedTags;
	}

	/**
	 * Sets the excluded tags.
	 *
	 * @param excludedTags the new excluded tags
	 */
	public void setExcludedTags(List<String> excludedTags) {
		this.excludedTags = excludedTags;
	}

	/**
	 * @return the fixedTags
	 */
	public List<String> getFixedTags() {
		return fixedTags;
	}

	/**
	 * @param fixedTags the fixedTags to set
	 */
	public void setFixedTags(List<String> fixedTags) {
		this.fixedTags = fixedTags;
	}

	/**
	 * @return the fixedExcludedTags
	 */
	public List<String> getFixedExcludedTags() {
		return fixedExcludedTags;
	}

	/**
	 * @param fixedExcludedTags the fixedExcludedTags to set
	 */
	public void setFixedExcludedTags(List<String> fixedExcludedTags) {
		this.fixedExcludedTags = fixedExcludedTags;
	}

	/**
	 * Gets the entry type.
	 *
	 * @return the entry type
	 */
	public EntryType getEntryType() {
		return entryType;
	}

	/**
	 * Sets the entry type.
	 *
	 * @param entryType the new entry type
	 */
	public void setEntryType(EntryType entryType) {
		this.entryType = entryType;
	}

	/**
	 * Gets the additional.
	 *
	 * @return the additional
	 */
	public String getAdditional() {
		return additional;
	}

	/**
	 * Sets the additional.
	 *
	 * @param additional the new additional
	 */
	public void setAdditional(String additional) {
		this.additional = additional;
	}

}
