@@ -0,0 +1,1411 @@
+package org.mastercoin;%0A%0A/**%0A * Number type to represent an Omni protocol property type.%0A */%0Apublic class PropertyType extends Number %7B%0A    private final int value;%0A%0A    public static final int INDIVISIBLE_VALUE = 1;%0A    public static final int DIVISIBLE_VALUE = 2;%0A%0A    public static final PropertyType INDIVISIBLE = new PropertyType(INDIVISIBLE_VALUE);%0A    public static final PropertyType DIVISIBLE = new PropertyType(DIVISIBLE_VALUE);%0A%0A    public PropertyType(short value) %7B%0A        if (!(value == INDIVISIBLE_VALUE %7C%7C%0A              value == DIVISIBLE_VALUE)) %7B%0A            throw new NumberFormatException();%0A        %7D%0A        this.value = value;%0A    %7D%0A%0A    public PropertyType(int value) %7B%0A        this.value = value;%0A    %7D%0A%0A    @Override%0A    public int intValue() %7B%0A        return value;%0A    %7D%0A%0A    @Override%0A    public long longValue() %7B%0A        return (long) value;%0A    %7D%0A%0A    @Override%0A    public float floatValue() %7B%0A        return (float) value;%0A    %7D%0A%0A    @Override%0A    public double doubleValue() %7B%0A        return (double) value;%0A    %7D%0A%0A    @Override%0A    public int hashCode() %7B%0A        return Integer.valueOf(value).hashCode();%0A    %7D%0A%0A    @Override%0A    public boolean equals(Object obj) %7B%0A        if (!(obj instanceof PropertyType)) %7B%0A            return false;%0A        %7D%0A        if (obj == this) %7B%0A            return true;%0A        %7D%0A        return this.value == ((PropertyType)obj).value;%0A    %7D%0A%7D%0A

Extend Number type to represent property types