/** * Get the user's subclassed {@link AggregatorWriter}. * * @return User's aggregator writer class */ public Class<? extends AggregatorWriter> getAggregatorWriterClass() { return classes.getAggregatorWriterClass(); }
@Override public Class<? extends Computation<I, V, E, ? extends Writable, ? extends Writable>> getComputationClass() { return classes.getComputationClass(); }
/** * Get computation factory class * * @return computation factory class */ @Override public Class<? extends ComputationFactory<I, V, E, ? extends Writable, ? extends Writable>> getComputationFactoryClass() { return classes.getComputationFactoryClass(); }
/** * Get the user's subclassed * {@link org.apache.giraph.partition.GraphPartitionerFactory}. * * @return User's graph partitioner */ public Class<? extends GraphPartitionerFactory<I, V, E>> getGraphPartitionerClass() { return classes.getGraphPartitionerFactoryClass(); }
/** * Get the user's subclassed * {@link org.apache.giraph.io.EdgeOutputFormat}. * * @return User's edge output format class */ public Class<? extends EdgeOutputFormat<I, V, E>> getEdgeOutputFormatClass() { return classes.getEdgeOutputFormatClass(); }
/** * Get user types describing graph (I,V,E,M1,M2) * * @return GiraphTypes */ public GiraphTypes<I, V, E> getGiraphTypes() { return classes.getGiraphTypes(); }
/** * Get the user's subclassed edge value class. * * @return User's vertex edge value class */ public Class<E> getEdgeValueClass() { return classes.getEdgeValueClass(); }
/** * Get the vertex input filter class * * @return VertexInputFilter class */ public Class<? extends EdgeInputFilter<I, E>> getEdgeInputFilterClass() { return classes.getEdgeInputFilterClass(); }
/** * Get the user's subclassed * {@link org.apache.giraph.io.EdgeInputFormat}. * * @return User's edge input format class */ public Class<? extends EdgeInputFormat<I, E>> getEdgeInputFormatClass() { return classes.getEdgeInputFormatClass(); }
/** * Constructor. Takes the configuration and then gets the classes out of * them for Giraph * * @param conf Configuration */ public ImmutableClassesGiraphConfiguration(Configuration conf) { super(conf); classes = new GiraphClasses<I, V, E>(conf); useUnsafeSerialization = USE_UNSAFE_SERIALIZATION.get(this); useBigDataIOForMessages = USE_BIG_DATA_IO_FOR_MESSAGES.get(this); valueLanguages = PerGraphTypeEnum.readFromConf( GiraphConstants.GRAPH_TYPE_LANGUAGES, conf); valueNeedsWrappers = PerGraphTypeBoolean.readFromConf( GiraphConstants.GRAPH_TYPES_NEEDS_WRAPPERS, conf); isStaticGraph = GiraphConstants.STATIC_GRAPH.get(this); valueFactories = new ValueFactories<I, V, E>(this); }
/** * Create a user graph partitioner class * * @return Instantiated user graph partitioner class */ public GraphPartitionerFactory<I, V, E> createGraphPartitioner() { Class<? extends GraphPartitionerFactory<I, V, E>> klass = classes.getGraphPartitionerFactoryClass(); return ReflectionUtils.newInstance(klass, this); }