/** * Verify matching generic types for a specific OutEdges class. * * @param outEdgesClass {@link org.apache.giraph.edge.OutEdges} class to check */ private void verifyOutEdgesGenericTypesClass( Class<? extends OutEdges<I, E>> outEdgesClass) { Class<?>[] classList = getTypeArguments(OutEdges.class, outEdgesClass); checkAssignable(classList, ID_PARAM_INDEX, vertexIndexType(), OutEdges.class, "vertex index"); checkAssignable(classList, EDGE_PARAM_OUT_EDGES_INDEX, edgeValueType(), OutEdges.class, "edge value"); }
/** Verify matching generic types in EdgeInputFormat. */ private void verifyEdgeInputFormatGenericTypes() { Class<? extends EdgeInputFormat<I, E>> edgeInputFormatClass = conf.getEdgeInputFormatClass(); if (edgeInputFormatClass != null) { Class<?>[] classList = getTypeArguments(EdgeInputFormat.class, edgeInputFormatClass); checkAssignable(classList, ID_PARAM_INDEX, vertexIndexType(), EdgeInputFormat.class, "vertex index"); checkAssignable(classList, EDGE_PARAM_EDGE_INPUT_FORMAT_INDEX, edgeValueType(), EdgeInputFormat.class, "edge value"); } }
/** * If there is a vertex resolver, * validate the generic parameter types. * */ private void verifyVertexResolverGenericTypes() { Class<? extends VertexResolver<I, V, E>> vrClass = conf.getVertexResolverClass(); if (DefaultVertexResolver.class.equals(vrClass)) { return; } Class<?>[] classList = getTypeArguments(VertexResolver.class, vrClass); checkEquals(classList, ID_PARAM_INDEX, vertexIndexType(), VertexResolver.class, "vertex index"); checkEquals(classList, VALUE_PARAM_INDEX, vertexValueType(), VertexResolver.class, "vertex value"); checkEquals(classList, EDGE_PARAM_INDEX, edgeValueType(), VertexResolver.class, "edge value"); }
/** Verify matching generic types in VertexInputFormat. */ private void verifyVertexInputFormatGenericTypes() { Class<? extends VertexInputFormat<I, V, E>> vertexInputFormatClass = conf.getVertexInputFormatClass(); if (vertexInputFormatClass != null) { Class<?>[] classList = getTypeArguments(VertexInputFormat.class, vertexInputFormatClass); checkAssignable(classList, ID_PARAM_INDEX, vertexIndexType(), VertexInputFormat.class, "vertex index"); checkAssignable(classList, VALUE_PARAM_INDEX, vertexValueType(), VertexInputFormat.class, "vertex value"); checkAssignable(classList, EDGE_PARAM_INDEX, edgeValueType(), VertexInputFormat.class, "edge value"); } }
/** Verify that the vertex output format's generic params match the job. */ private void verifyVertexOutputFormatGenericTypes() { Class<? extends EdgeOutputFormat<I, V, E>> edgeOutputFormatClass = conf.getEdgeOutputFormatClass(); if (conf.hasEdgeOutputFormat()) { Class<?>[] classList = getTypeArguments(EdgeOutputFormat.class, edgeOutputFormatClass); checkAssignable(classList, ID_PARAM_INDEX, vertexIndexType(), VertexOutputFormat.class, "vertex index"); checkAssignable(classList, VALUE_PARAM_INDEX, vertexValueType(), VertexOutputFormat.class, "vertex value"); checkAssignable(classList, EDGE_PARAM_INDEX, edgeValueType(), VertexOutputFormat.class, "edge value"); } }
/** Verify that the edge output format's generic params match the job. */ private void verifyEdgeOutputFormatGenericTypes() { Class<? extends VertexOutputFormat<I, V, E>> vertexOutputFormatClass = conf.getVertexOutputFormatClass(); if (conf.hasVertexOutputFormat()) { Class<?>[] classList = getTypeArguments(VertexOutputFormat.class, vertexOutputFormatClass); checkAssignable(classList, ID_PARAM_INDEX, vertexIndexType(), VertexOutputFormat.class, "vertex index"); checkAssignable(classList, VALUE_PARAM_INDEX, vertexValueType(), VertexOutputFormat.class, "vertex value"); checkAssignable(classList, EDGE_PARAM_INDEX, edgeValueType(), VertexOutputFormat.class, "edge value"); } }