de.cesr.more.building.network
Class MLattice2DNetworkBuilder<AgentType,EdgeType extends MoreEdge<AgentType>>

java.lang.Object
  extended by de.cesr.more.building.network.MLattice2DNetworkBuilder<AgentType,EdgeType>
All Implemented Interfaces:
MoreNetworkBuilder<AgentType,EdgeType>
Direct Known Subclasses:
MRsLattice2DNetworkBuilder

public class MLattice2DNetworkBuilder<AgentType,EdgeType extends MoreEdge<AgentType>>
extends Object
implements MoreNetworkBuilder<AgentType,EdgeType>

ParameterValue
#VerticesN (via collection of agents; must be quadratic)
PropertyValue
#Edges:Toroidal & Directed: 4N

Considered PmParameterDefinitions:


Field Summary
protected  MoreNetworkEdgeModifier<AgentType,EdgeType> edgeModifier
           
protected  MLattice2DGenerator<AgentType,EdgeType> latticeGenerator
           
protected  String name
           
 
Constructor Summary
MLattice2DNetworkBuilder(MoreEdgeFactory<AgentType,EdgeType> eFac)
          Uses "Network" as name.
MLattice2DNetworkBuilder(MoreEdgeFactory<AgentType,EdgeType> eFac, String name)
           
 
Method Summary
 MoreNetwork<AgentType,EdgeType> buildNetwork(Collection<AgentType> agents)
          The order of elements in agents influences the lattice's characteristic.
protected  void checkAgentCollection(Collection<AgentType> agents)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

latticeGenerator

protected MLattice2DGenerator<AgentType,EdgeType extends MoreEdge<AgentType>> latticeGenerator

edgeModifier

protected MoreNetworkEdgeModifier<AgentType,EdgeType extends MoreEdge<AgentType>> edgeModifier

name

protected String name
Constructor Detail

MLattice2DNetworkBuilder

public MLattice2DNetworkBuilder(MoreEdgeFactory<AgentType,EdgeType> eFac)
Uses "Network" as name.

Parameters:
eFac - edge factory

MLattice2DNetworkBuilder

public MLattice2DNetworkBuilder(MoreEdgeFactory<AgentType,EdgeType> eFac,
                                String name)
Parameters:
eFac -
Method Detail

buildNetwork

public MoreNetwork<AgentType,EdgeType> buildNetwork(Collection<AgentType> agents)
The order of elements in agents influences the lattice's characteristic. So, make sure to shuffle the collection unless you require a special grid! Furthermore in this regard, make sure the network underlying graph is an ordered one (however, one that does not use HashMaps to store vertices), like UndirectedOrderedSparseMultigraph (RS's UndirectedJungNetworks and DirectedJungNetwork use such ordered graphs)!

Specified by:
buildNetwork in interface MoreNetworkBuilder<AgentType,EdgeType extends MoreEdge<AgentType>>
Returns:
See Also:
MoreRsNetworkBuilder.buildNetwork(java.util.Collection)

checkAgentCollection

protected void checkAgentCollection(Collection<AgentType> agents)