org.intellij.lang.annotations
Annotation Type Flow


@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.
 

source

public abstract String source
Denotes the source of the data flow.
Allowed values are:
By default, the source() value is:

Default:
"The method argument (if parameter was annotated) or this container (if instance method was annotated)"

sourceIsContainer

public abstract boolean sourceIsContainer
true if the data source is container and we should track not the expression but its contents.
E.g. the java.util.ArrayList constructor takes the collection and stores its contents:
ArrayList(@Flow(sourceIsContainer=true, targetIsContainer=true) Collection<? extends E> collection)
By default it's false.

Default:
false

target

public abstract String target
Denotes the destination of the data flow.
Allowed values are:
By default, the target() value is:

Default:
"This container (if the parameter was annotated) or the return value (if instance method was annotated)"

targetIsContainer

public abstract boolean targetIsContainer
true if the data target is container and we should track not the expression but its contents.
E.g. the java.lang.System.arraycopy() method parameter 'dest' is actually an array:
void arraycopy(@Flow(sourceIsContainer=true, target="dest", targetIsContainer=true) Object src, int srcPos, Object dest, int destPos, int length)
By default it's false.

Default:
false


Copyright © 2013. All rights reserved.