What data is being shared?

The Hippie Completion plugin sends data about applied proposals. At writing, applied method calls and constructor calls are sent to the server.

You can select which applied proposals to share in the list of whitelisted packages. For example, method calls are only sent to the server if the type is in a (sub)package that is whitelisted. For constructor call completions both the type of the constructor as well as the expected type (i. e. left hand side of an assignment) have to be whitelisted before they are shared.

The default whitelist consists of:

android* org.apache.*
com.google.* org.eclipse.*
java.* org.jboss.*
javafx.* org.w3c.*
javax.* org.xml.*

You may add or remove any package in the preferences under Codetrails Connect > Sharing.

For method call completions, the data package consists of the following information:

  • Receiver type - The type of the object that the method was called on.
  • Applied method - The signature of the applied method.
  • User UUID - A pseudonymous identifier.
  • Session ID - A random identifier per Eclipse session. This is randomly generated each time Eclipse is started.
  • Message ID - A random identifier for the completion event.
  • Timestamp - The date and time the proposal was applied.
  • Receiver Coordinate - Can be used to identify the origin of the type, but is not used in version 1.0.

In addition to the above, there are two additional data packages for constructor call completions:

  • Expected type - The type expected in the current context, i. e. the left hand side of an assignment.
  • Applied constructor - The signature of the applied constructor.