我想你可以通过这样的方式来构建你的数据,你可以定义表 中的所有对象类型,然后使用下面的方法。
U可以定义像表:
OBJECT_TYPE
OBJECTS
OBJ_PROPERTY_DEF
OBJ_PROP_VALUES
例如。
在OBJECT_TYPE 定义这里的所有对象类型
object_type_code(PK)obj_name
4 car
5 t-shirt
在OBJECTS
obj_code(PK)object_type_code(FK)obj_name
1 4 BMW
2 4 Maruti
3 4 Honda
4 5 levis
5 5 polo
6 5 reebock
在OBJ_PROPERTY_DE中F
定义与此表中的对象相对应的所有属性。
注意:使用常量文件来定义属性类型会避免另一个表。 希望能早点知道数据类型。
obj_prop_code(PK)obj_code(FK)房产类型PROPERTY_NAME
------------- -------- ----------- - -------------
12 6 8 (Integer) size
13 6 9 (String) color
14 6 10 (float) weight
15 6 11 (Boolean) is_coloured
16 6 9 (String) comments
17 3 9 (String) model
18 3 8 (Integer) version
19 3 9 (String) color
20 3 9 (String) comments
在OBJ_PROP_VALUES U可以inser的值在上述特定属性
obj_prop_val_code(PK)obj_prop_code(FK)obj_prop_value(VARCHAR )prop_value_sufix
----------------- ------------- -------------- ----- ------------
101 12 30 -
102 13 green -
103 14 126 gms
104 15 0 -
105 16 looks cool -
106 17 c532 -
107 18 3.22 -
108 19 black -
109 20 awesome car -
注册的Java归类:
定义的所有类与相应的属性。 例如:
ObjectTypeData
目标数据
ObjectPropertyDefData
ObjectPropertyValuesData
在ObjectData.java
private ObjectTypeData objType;//specifies the type
private List<ObjectPropertyValueData> listProps; //will have all property values
//setter & getters and other req props
超好玩!感谢Gene的回答,我将会有一个Attribute对象。每个类别都有一个私有迭代器,其中包含与其对应的所有Attribute对象。当实例化代理Item对象时,我将创建一个hashmap并使用Attribute name作为关键字,并将其值作为值。我将有一个getAttribute(String)方法,它使用提供的字符串值(属性名称)来获取特定属性的值。还有一个setAttribute(String,Value)。我认为这会起作用! – sunrize920
太棒了!你可以进一步简化它通过使用所有可能的属性名称的枚举:) – dharam