úterý 23. července 2013

Graph outline

Dependency graph outline
An initial sketch of the dependency graph have arisen from discussion with my thesis supervisor. The graph consists of two types of nodes:
  • Class nodes ①, ② representing any Java type that is somehow involved in CDI.
  • Bean nodes ③. Bean node represents a set of instances of certain Java type that are indistinguishable is sense of typesafe resolution i.e. instances living in the same context and having the same set of qualifiers.
Each of these nodes can appear as a single collapsed node ② or as a subgraph ③ of class/bean members (fields and functions) ④.

There are three types of arches:
  • Arch that connects bean node and belonging class node ⑦.
  • "production" arch ⑤ that leads from a class member annotated by
    @Produces to a node of produced bean.
  • "injection" arch ⑥ that leads from a bean to a bean member which is the bean injected in.
 @Produces annotated member are depicted in class nodes because same member of two instances of the same Java type usually can't produce beans of different qualifiers. However @Inject annotated member are located in bean nodes because typesafe resolution takes into account the scope of bean the injection point is in.

Žádné komentáře:

Okomentovat