/** * 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 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 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"); } }
/** 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"); } }
/** * If there is a vertex value combiner type, verify its * generic params match the job. */ private void verifyVertexValueCombinerGenericTypes() { Class<? extends VertexValueCombiner<V>> vertexValueCombiner = conf.getVertexValueCombinerClass(); if (vertexValueCombiner != null) { Class<?>[] classList = getTypeArguments(VertexValueCombiner.class, vertexValueCombiner); checkAssignable(classList, VALUE_PARAM_VERTEX_VALUE_COMBINER_INDEX, vertexValueType(), VertexValueCombiner.class, "vertex value"); } }