@@ -0,0 +1,1765 @@
+%0Apackage com.uwetrottmann.shopr.algorithm.model;%0A%0Aimport com.uwetrottmann.shopr.algorithm.model.Attributes.AttributeValue;%0A%0Aimport java.math.BigDecimal;%0Aimport java.util.Arrays;%0A%0Apublic class Price extends GenericAttribute %7B%0A%0A    public static final String ID = %22price%22;%0A%0A    public enum Value implements AttributeValue %7B%0A        SUB_25(%22less than 25 %E2%82%AC%22),%0A        BETWEEN_25_50(%2225 to 50 %E2%82%AC%22),%0A        BETWEEN_50_100(%2250 to 100 %E2%82%AC%22),%0A        ABOVE_100(%22more than 100 %E2%82%AC%22);%0A%0A        private String mDescriptor;%0A%0A        Value(String descriptor) %7B%0A            mDescriptor = descriptor;%0A        %7D%0A%0A        @Override%0A        public String descriptor() %7B%0A            return mDescriptor;%0A        %7D%0A%0A        @Override%0A        public int index() %7B%0A            return ordinal();%0A        %7D%0A%0A    %7D%0A%0A    public Price() %7B%0A        int numValues = Value.values().length;%0A        mValueWeights = new double%5BnumValues%5D;%0A        Arrays.fill(mValueWeights, 1.0 / numValues);%0A    %7D%0A%0A    public Price(BigDecimal price) %7B%0A        mValueWeights = new double%5BValue.values().length%5D;%0A        Arrays.fill(mValueWeights, 0.0);%0A%0A        // determine price range%0A        Value value;%0A        if (price.doubleValue() %3C 25.0) %7B%0A            value = Value.SUB_25;%0A        %7D else if (price.doubleValue() %3C 50.0) %7B%0A            value = Value.BETWEEN_25_50;%0A        %7D else if (price.doubleValue() %3C 100.0) %7B%0A            value = Value.BETWEEN_50_100;%0A        %7D else %7B%0A            value = Value.ABOVE_100;%0A        %7D%0A        %0A        mValueWeights%5Bvalue.ordinal()%5D = 1.0;%0A        currentValue(value);%0A    %7D%0A%0A    @Override%0A    public String id() %7B%0A        return ID;%0A    %7D%0A%0A    @Override%0A    public AttributeValue%5B%5D getValueSymbols() %7B%0A        // TODO Auto-generated method stub%0A        return null;%0A    %7D%0A%0A%7D%0A

Add Price attribute.