|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT | |||||||||
@Documented
@Retention(value=CLASS)
@Target(value={PARAMETER,METHOD})
public @interface Flow
| Optional Element Summary | |
|---|---|
String |
source
Denotes the source of the data flow. Allowed values are: THIS_SOURCE - Means that the data flows from this container.E.g. |
boolean |
sourceIsContainer
true if the data source is container and we should track not the expression but its contents. E.g. |
String |
target
Denotes the destination of the data flow. Allowed values are: THIS_TARGET - Means that the data flows inside this container (of the class the annotated method belongs to).E.g. |
boolean |
targetIsContainer
true if the data target is container and we should track not the expression but its contents. E.g. |
public abstract String source
THIS_SOURCE - Means that the data flows from this container.@Flow(source = THIS_SOURCE) T get(int index);this.Field name - means that the data flows from this container some (synthetic) field.@Flow(source = "this.keys") Set<K> keySet();
THIS_SOURCE if the method was annotated, e.g.@Flow(sourceIsContainer=true, targetIsContainer=true) Object[] Collection.toArray()void List.add(@Flow(targetIsContainer=true) E item)
public abstract boolean sourceIsContainer
ArrayList(@Flow(sourceIsContainer=true, targetIsContainer=true) Collection<? extends E> collection)
public abstract String target
THIS_TARGET - Means that the data flows inside this container (of the class the annotated method belongs to).boolean add(@Flow(target=THIS_TARGET, targetIsContainer=true) E element);void arraycopy(@Flow(sourceIsContainer=true, target="dest", targetIsContainer=true) Object src, int srcPos, Object dest, int destPos, int length)this.Field name - means that the data flows to this container in some (synthetic) field.V put(@Flow(target = "this.keys", targetIsContainer=true) K key, V value);
THIS_TARGET if the parameter was annotated, e.g.void List.set(int index, @Flow(targetIsContainer=true) E element)RETURN_METHOD_TARGET if the method was annotated, e.g.:@Flow(sourceIsContainer=true) E List.remove(int index)
public abstract boolean targetIsContainer
void arraycopy(@Flow(sourceIsContainer=true, target="dest", targetIsContainer=true) Object src, int srcPos, Object dest, int destPos, int length)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT | |||||||||