package io.lumify.javaCodeIngest; import org.securegraph.Vertex; import org.apache.bcel.classfile.Field; import org.apache.bcel.classfile.JavaClass; import org.apache.bcel.classfile.Method; public class JavaCodeIngestIdGenerator { public static String createClassId(String className) { return "CLASS_" + className; } public static String createMethodId(JavaClass javaClass, Method method) { return createMethodId(javaClass.getClassName(), method.getName(), method.getSignature()); } public static String createMethodId(String methodClassName, String methodName, String methodSignature) { return "METHOD_" + methodClassName + "." + methodName + methodSignature; } public static String createFieldId(JavaClass javaClass, Field field) { return createMethodId(javaClass.getClassName(), field.getName()); } public static String createMethodId(String className, String name) { return "FIELD_" + className + "." + name; } public static String createFileContainsClassEdgeId(Vertex fileVertex, Vertex classVertex) { return "FILE_CONTAINS_" + fileVertex.getId() + "-" + classVertex.getId(); } public static String createClassContainsMethodEdgeId(Vertex classVertex, Vertex methodVertex) { return "CLASS_CONTAINS_METHOD_" + classVertex.getId() + "-" + methodVertex.getId(); } public static String createClassContainsFieldEdgeId(Vertex classVertex, Vertex fieldVertex) { return "CLASS_CONTAINS_FIELD_" + classVertex.getId() + "-" + fieldVertex.getId(); } public static String createClassReferencesEdgeId(Vertex classVertex, Vertex typeVertex) { return "CLASS_REFERENCES_" + classVertex.getId() + "-" + typeVertex.getId(); } public static String createMethodInvokesMethodEdgeId(Vertex methodVertex, Vertex invokedMethodVertex) { return "METHOD_INVOKES_" + methodVertex.getId() + "-" + invokedMethodVertex.getId(); } public static String createFieldTypeEdgeId(Vertex fieldVertex, Vertex fieldTypeVertex) { return "FIELD_TYPE_" + fieldVertex.getId() + "-" + fieldTypeVertex.getId(); } public static String createReturnTypeEdgeId(Vertex methodVertex, Vertex returnTypeVertex) { return "RETURN_TYPE_" + methodVertex.getId() + "-" + returnTypeVertex.getId(); } public static String createArgumentEdgeId(Vertex methodVertex, Vertex argumentTypeVertex, String argumentName) { return "ARGUMENT_" + methodVertex.getId() + "-" + argumentTypeVertex.getId() + "-" + argumentName; } }