helix.graph.algo.c3part
Class C3PartAbstract

java.lang.Object
  extended by helix.graph.algo.c3part.C3PartAbstract
All Implemented Interfaces:
C3PartAlgo
Direct Known Subclasses:
C3PartAbstractOTF, C3PartAbstractOTFBasic, C3PartAbstractXFS

public abstract class C3PartAbstract
extends Object
implements C3PartAlgo


Constructor Summary
C3PartAbstract(Graph dataGraph)
          default pseudo constructor note: defining the constructor in the abstract class will force its requirement in subclasses : just call super() if you don't need to override.
 
Method Summary
 NodeAggregator getAggregatorFor()
          get aggregator by name this abstract class knows :
 ColorOptimizer getOptimizerFor(Graph Clas)
          get optimizer for Clas this abstract class knows :
 C3PartOptions getOptions()
          get current options return a hard copy of options, so modifying them will not modify internal algorithm options.
 C3PartOptions getPhysicalOptions()
          get current options this method returns the internal algo options.
 Set<Graph> run()
          run algo with current options.
 void setOptions(C3PartOptions options)
          set options time to check for option incompatibilities
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

C3PartAbstract

public C3PartAbstract(Graph dataGraph)
default pseudo constructor note: defining the constructor in the abstract class will force its requirement in subclasses : just call super() if you don't need to override.

Method Detail

getOptions

public C3PartOptions getOptions()
get current options return a hard copy of options, so modifying them will not modify internal algorithm options. to do so you should set options back with setOptions

Specified by:
getOptions in interface C3PartAlgo

getPhysicalOptions

public C3PartOptions getPhysicalOptions()
get current options this method returns the internal algo options. Take care not modifying them (use getOptions instead)

Specified by:
getPhysicalOptions in interface C3PartAlgo

setOptions

public void setOptions(C3PartOptions options)
set options time to check for option incompatibilities

Specified by:
setOptions in interface C3PartAlgo

run

public Set<Graph> run()
run algo with current options. this calls in turn :
   boolean this.beforeRun_()
       run() stops if result is false, else continue
   Set this.run_()
       actually compute the partition
   Set this.afterRun_(Set partition)
       perform postprocessing
 
this Abstract class proposes some default behavior for beforeRun_ and afterRun_

Specified by:
run in interface C3PartAlgo

getAggregatorFor

public NodeAggregator getAggregatorFor()
get aggregator by name this abstract class knows :
 Name    Aggregator
 clique  CliqueAggregator
 star    CenteredAggregator
 

Specified by:
getAggregatorFor in interface C3PartAlgo

getOptimizerFor

public ColorOptimizer getOptimizerFor(Graph Clas)
get optimizer for Clas this abstract class knows :
 Name    Optimizer
 off     IdentityColorOptimizer
 user    FixColorOptimizer
 global  GlobalColorOptimizer
 local   TerminalsColorOptimizer
 

Specified by:
getOptimizerFor in interface C3PartAlgo