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 private int discountRange = 12;
011 private double maxDiscount = 0.35;
012 private int discountValue = 15000;
013 private double fractionOfWages = 1;
014 private double timeOfEmployment = 0.05;
015
016 /**
017 * @return the number of months which have influence on the discount.
018 */
019 public int getDiscountRange() {
020 return discountRange;
021 }
022
023 /**
024 * Sets the number of months which have influence on the discount.
025 * @param range the number of months
026 */
027 public void setDiscountRange(int range) {
028 discountRange = range;
029 }
030
031 /**
032 * @return the maximal discount that can be allowed.
033 */
034 public double getMaxDiscount() {
035 return maxDiscount;
036 }
037
038 /**
039 * Sets the maximal discount that can be allowed.
040 * @param max the maximal discount.
041 */
042 public void setMaxDiscount(double max) {
043 maxDiscount = Conversions.round(max, 5);
044 }
045
046 /**
047 * @return the money in Euros that are worth one percent discount.
048 */
049 public int getDiscountValue() {
050 return discountValue;
051 }
052
053 /**
054 * Sets the money in Euros that are worth one percent discount.
055 * @param value the money in Euros.
056 */
057 public void setDiscountValue(int value) {
058 discountValue = value;
059 }
060
061 /**
062 * @return the influence the current wage has on the computation of the dismissal compensation.
063 */
064 public double getFractionOfWages() {
065 return fractionOfWages;
066 }
067
068 /**
069 * Sets the influence the current wage has on the computation of the dismissal compensation.
070 * @param fraction the influence of the wage in percent.
071 */
072 public void setFractionOfWages(double fraction) {
073 fractionOfWages = Conversions.round(fraction, 5);
074 }
075
076 /**
077 * @return the influence the time the worker has been employed has on the computation of the
078 * dismissal compensation.
079 */
080 public double getTimeOfEmployment() {
081 return timeOfEmployment;
082 }
083
084 /**
085 * Sets the influence the time the worker has been employed has on the computation of the dismissal
086 * compensation.
087 * @param fraction the influence of the time in percent.
088 */
089 public void setTimeOfEmployment(double fraction) {
090 timeOfEmployment = Conversions.round(fraction, 5);
091 }
092 }