我需要做的是在对象中存储偏好结构。 是否有通常的模式如何在Java中保存属性,具有以下前提条件:
不知道会有多少个偏好条目。
{TYPE;NAME;VALUE}
{TYPE;NAME;VALUE}
{TYPE;NAME;VALUE}
例如:
{CHECKBOXES;"Radio box choice"; { Red, White, Blue}}
{BOOLEAN;"Hintergrund"; true}}
{INT;"Page number"; 34}}
{STRING;"App title";"Jenny"}}
答案 0 :(得分:2)
创建名为Preference的基本JavaBean(POJO),其属性为 type , name 和 values 。为每个首选项类型创建Preference的子类,例如CheckboxPref,BooleanPref等。在这些子类中适当地覆盖行为。例如,CheckBoxPref中的setValue()可能与IntPref中的setValue()具有不同的行为。
然后创建另一个名为PreferenceManager的类。在那里存储一个Preference集合,并公开loadPreferences(File preferenceFile),setPreferenceValue(String name)等方法。
PreferenceManager也可以用作FactoryMethod,根据首选项类型创建正确的Preference子类。
不确定这是否是模式,但我就是这样做的。
答案 1 :(得分:1)
您可能想要使用Java Preferences API:
http://docs.oracle.com/javase/7/docs/api/java/util/prefs/Preferences.html
答案 2 :(得分:0)
您可以创建一个表示属性的类。并在对象中使用List。
class Property{
enum dataType; //create a specific enum
String name;
Object value;
}
如果你想更进一步,那么你可以继承这个属性来添加类似于BooleanProperty或StringProperty的somme类型。