středa 25. března 2015

Uložení generických typů do grafu

Je potřeba aby se generický typ choval jako obyčejný typ nebo třída kvůli dotazování. Přesto musí poskytovat navíc informace o hlavním typu a generických parametrech.

Využitý obsah ve vrcholu reprezentujícím generický typ

Vlastnosti:
  • nic
Vztahy:
  •  main_type (Třída)
  • generic_parameter (Třída)

1. Příklad uložení následujícího kódu do grafu

1
2
3
public List<String>  some_method(){
   ...
}



Graf tak obsahuje vrchol zastupující metodu se jménem some_method. Tato metoda má návratovou hodnotu List<String>, což je generický typ. Návratová hodnota je popsán vztahem is_type s uzlem "Generický typ", který je dále popsán vztahy main_type a generic_parameter.

2. Příklad uložení následujícího kódu do grafu

1
2
3
public class MapExample {
        Map<Object,String> mp;
}




Na tomto příkladu je demonstrováno uložení v případě většího počtu generických parametrů. Jediný rozdíl je tak v tom, že uzel Generický typ má další vztah generic_parameter.
Pořadí generických parametrů nás v tomto případě příliš nezajímá, proto se tato informace neukládá.


3. Příklad uložení následujícího kódu do grafu

1
2
3
public List<List<String>> creazyMethod(){
  ...
}



V případě, že bude generickým parametrem opět generický typ, je potřeba mít možnost místo konkrétního typu navázat na vztah generic_parameter další uzel Generický typ.

Žádné komentáře:

Okomentovat