建模分層數據我有多個客戶端在不同的格式,這是我想要寫一個抽象返回相同的數據給我。使用枚舉在Java中
Client A: {
Category_A1:
Sub_Category_A1_1,
Sub_Category_A1_2
Category_B1:
Sub_Category_B1_1,
Sub_Category_B1_2
}
Client B: {
Category_A2:
Sub_Category_A2_1,
Sub_Category_A2_2
Category_B2:
Sub_Category_B2_1,
Sub_Category_B2_2
}
這裏客戶端A和B都返回相同的類別'A'和'B',但在響應中使用不同的字符串。
我想抽象Category_A和Category_B這樣Category_A1,Category_A2將映射到Category_A和Category_B1,Category_B2將映射到Category_B。
這同樣適用於 - 行業標準,以及 - 一個類別只能有與之相關聯的子類別的具體名單。我也想抽象子類別,同時保留它屬於哪個類別的信息。
我想用枚舉多個類別映射到一個:
public enum MyCategory {
MY_CATEGORY_A(new String[]{ CATEGORY_A1, CATEGORY_A2 }),
MY_CATEGORY_B(new String[]{ CATEGORY_B1, CATEGORY_B2 });
private String[] categories;
Category(String[] categories) {
this.categories = categories;
}
public MyCategory getMyCategoryFromExternalCategory(final String externalCategory) {
}
};
什麼我發現很難爲映射的子類別相同的方式,同時維持該類別及其子類別列表之間的關聯。
什麼可以成爲實現這個使用枚舉一個乾淨的方式 - 因爲我沒有狀態,或與我不想使用顯式類這樣做的類別和子類別的任何其他信息。