public static Property<Float> newFloat(String name) { return new Property<>(new TypeLiteral<Float>() {// left empty on purpose }, name); }
public static <T> Property<T> newProperty(Class<T> type, String name) { return new Property<>(type, name); }
public static Property<Double> newDouble(String name) { return new Property<>(new TypeLiteral<Double>() {// left empty on purpose }, name); }
public static Property<Date> newDate(String name) { return new Property<>(new TypeLiteral<Date>() {// left empty on purpose }, name); }
public static <T> Property<T> newProperty(TypeLiteral<T> type, String name) { return new Property<>(type, name); }
public static Property<Integer> newInteger(String name) { return new Property<>(Integer.class, name); }
public static <T> Property<List<T>> newList(String name, Class<T> zeListElementType) { TypeLiteral<List<T>> literalType = new TypeLiteral<List<T>>() { // This object is here to define the type used in the next property }; return new Property<>(literalType, name).setValue(new ArrayList<T>()); }
public static Property<Boolean> newBoolean(String name) { return new Property<>(new TypeLiteral<Boolean>() {// left empty on purpose }, name).setValue(Boolean.FALSE); }
public static <T> Property<T> newProperty(TypeLiteral<T> type, String name, String title) { return new Property<>(type, name).setTitle(title); }
public static Property<List<String>> newStringList(String name) { return new Property<>(LIST_STRING_ELEMENT, name).setValue(new ArrayList<String>()); }
public static <T> Property<T> newProperty(Class<T> type, String name, String title) { return new Property<>(type, name).setTitle(title); }