001 package market;
002
003 import java.io.Serializable;
004
005 /**
006 * Contains some variables which affect the computation of the discount and the dismissal compensation.
007 */
008 public class Options implements Serializable {
009
010 /**
011 * ID for serialization.
012 */
013 private static final long serialVersionUID = 2421549680479102792L;
014
015 private int discountRange = 12;
016 private double maxDiscount = 0.35;
017 private int discountValue = 15000;
018 private double fractionOfWages = 1;
019 private double timeOfEmployment = 0.05;
020
021 /**
022 * @return the number of months which have influence on the discount.
023 */
024 public int getDiscountRange() {
025 return discountRange;
026 }
027
028 /**
029 * Sets the number of months which have influence on the discount.
030 * @param range the number of months
031 */
032 public void setDiscountRange(int range) {
033 discountRange = range;
034 }
035
036 /**
037 * @return the maximal discount that can be allowed.
038 */
039 public double getMaxDiscount() {
040 return maxDiscount;
041 }
042
043 /**
044 * Sets the maximal discount that can be allowed.
045 * @param max the maximal discount.
046 */
047 public void setMaxDiscount(double max) {
048 maxDiscount = Conversions.round(max, 5);
049 }
050
051 /**
052 * @return the money in Euros that are worth one percent discount.
053 */
054 public int getDiscountValue() {
055 return discountValue;
056 }
057
058 /**
059 * Sets the money in Euros that are worth one percent discount.
060 * @param value the money in Euros.
061 */
062 public void setDiscountValue(int value) {
063 discountValue = value;
064 }
065
066 /**
067 * @return the influence the current wage has on the computation of the dismissal compensation.
068 */
069 public double getFractionOfWages() {
070 return fractionOfWages;
071 }
072
073 /**
074 * Sets the influence the current wage has on the computation of the dismissal compensation.
075 * @param fraction the influence of the wage in percent.
076 */
077 public void setFractionOfWages(double fraction) {
078 fractionOfWages = Conversions.round(fraction, 5);
079 }
080
081 /**
082 * @return the influence the time the worker has been employed has on the computation of the
083 * dismissal compensation.
084 */
085 public double getTimeOfEmployment() {
086 return timeOfEmployment;
087 }
088
089 /**
090 * Sets the influence the time the worker has been employed has on the computation of the dismissal
091 * compensation.
092 * @param fraction the influence of the time in percent.
093 */
094 public void setTimeOfEmployment(double fraction) {
095 timeOfEmployment = Conversions.round(fraction, 5);
096 }
097 }