display
Class ModelGUI

java.lang.Object
  extended by display.ModelGUI

public class ModelGUI
extends java.lang.Object

Class that contains methods concerning networks and their displays.


Nested Class Summary
 class ModelGUI.AgentNodeMap
          Maps agents to nodes
 class ModelGUI.HouseholdNodeMap
          Maps households to nodes
(package private)  class ModelGUI.SingleHouseholdStatistics
          Returns the wealth statistics for all households
 
Field Summary
private  java.util.HashMap<java.lang.Integer,ModelGUI.AgentNodeMap> agentFriendNodeMap
           
private  java.util.ArrayList<AgentNode> agentFriendsNodeList
          Nodelist for agents friendship network
private  java.util.ArrayList<AgentNode> agentNodeList
          Nodelist for agents in Model
private  java.util.HashMap<java.lang.Integer,ModelGUI.AgentNodeMap> agentNodeMap
           
private  java.util.ArrayList<HouseholdNode> extendedFamilyNodeList
          Nodelist for Household extended family network
private  java.util.HashMap<java.lang.Integer,ModelGUI.HouseholdNodeMap> extendedFamilyNodeMap
           
private  java.util.HashMap<java.lang.Integer,ModelGUI.HouseholdNodeMap> householdNodeMap
           
private  Model model
           
private  java.util.ArrayList<HouseholdNode> neighborhoodNodeList
          Nodelist for Household neighbor network
private  java.util.ArrayList<AgentNode> savingsNodeList
          Nodelist for agents stokvel network
private  java.util.HashMap<java.lang.Integer,ModelGUI.AgentNodeMap> savingsNodeMap
           
 
Constructor Summary
ModelGUI(Model _model)
          Constructor
 
Method Summary
 void addAgentFriendshipNode(Agent agent)
          Add agent to friendship network
 void addAgentNode(Agent agent)
          Add agent to all networks
 void addExtendedFamilyNode(Household household)
           
 void addHouseholdNetworkNode(Household household)
          Add household to social neighborhood
 void addHouseholdNode(Household household)
          Add household to all netwokrs
 void addSavingsNode(Agent agent)
          Add agent to savings network
 void createExtendedFamilyLink(Household h1, Household h2)
          Create extened family links for a newly created household
 void createSquareLattic()
          TODO: Need to give the source from where it is adapted.
 java.util.HashMap<java.lang.Integer,ModelGUI.AgentNodeMap> getAgentFriendNodeMap()
           
 java.util.ArrayList<AgentNode> getAgentFriendsNodeList()
           
 java.util.ArrayList<AgentNode> getAgentNodeList()
          get agents node list
 java.util.HashMap<java.lang.Integer,ModelGUI.AgentNodeMap> getAgentNodeMap()
           
 java.util.ArrayList<HouseholdNode> getExtendedFamilyNodeList()
           
 java.util.HashMap<java.lang.Integer,ModelGUI.HouseholdNodeMap> getExtendedFamilyNodeMap()
           
 HouseholdNode getHouseholdNode(Household household)
           
 java.util.ArrayList<HouseholdNode> getHouseholdNodeList()
          get households node list
 java.util.HashMap<java.lang.Integer,ModelGUI.HouseholdNodeMap> getHouseholdNodeMap()
           
static int getIJTie(Node iNode, Node jNode)
          Need to give the source from where it is adapted
 java.util.ArrayList<AgentNode> getSavingsNodeList()
           
 java.util.HashMap<java.lang.Integer,ModelGUI.AgentNodeMap> getSavingsNodeMap()
           
 void inheritLinks(Household household, Household p1, Household p2)
          inherit parents' links in this new household ...
 void inheritSocialLinks(Household household, Household p1, Household p2)
          Inherit social links for this new household from the parents' households
 void initialize()
          Initialize networks' lists
 void initializeAgentFriendsNodes()
          Initialize friendships nodes list
 void initializeAgentNodes()
          social nodes at the agent's level
 void initializeExtendedFamilyNodes()
          Initialize extended family nodes
 void initializeFuneralClubLinks()
           
 void initializeHouseholdNodes()
          Initialize household social links
 void initializeSavingsNodes()
          Initialize savings nodes list
 void makeExtendedFamilyLinks(HouseholdNode node)
           
 void makeFriendsLinks(Agent agent)
          Make friendship links
 void makeSavingsLinks(SavingsClub club)
          Make savings links among club members
 void normalizeHouseholdNodes(HouseholdNode householdNode)
          Remove some social neighborhood links randomly
 void randomRewire(double rewireProb)
          Repast's adaptation of random rewire, because households keep coming in the network
 void removeAgentFriendNode(Agent agent)
          Remove agent from friendship network
 void removeAgentNode(Agent agent)
          Remove agent from all networks
 void removeExtendedFamilyNode(Household household)
          Remove household from extended family network
 void removeHouseholdNetworkNode(Household household)
          Remove household from social neighborhood
 void removeHousholdNode(Household household)
          Remove household from all netwokrs
 void removeSavingsMember(Agent agent)
          Remove the agent from the savings clubs
 void removeSavingsMemberAll(SavingsClub club)
          Remove savings members from the club
 void removeSavingsNode(Agent agent)
          Remove agent from savings network
 java.util.ArrayList<Household> returnNeighbors(Household household)
          Return list of neighbors for this household
 void saveList(java.lang.String prefix, java.util.ArrayList<Node> nodeList)
           
 void saveListKS(java.util.ArrayList<Node> nodeList, java.lang.String prefix)
          Original version from Friedrich.
 void saveNodeListMotif(java.util.ArrayList<Node> nodeList, java.lang.String prefix)
          Original version from Friedrich.
 void saveNodeListPajek(java.util.ArrayList<Node> nodeList, java.lang.String prefix)
          Original version from Friedrich.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

model

private Model model

agentNodeList

private java.util.ArrayList<AgentNode> agentNodeList
Nodelist for agents in Model


agentFriendsNodeList

private java.util.ArrayList<AgentNode> agentFriendsNodeList
Nodelist for agents friendship network


savingsNodeList

private java.util.ArrayList<AgentNode> savingsNodeList
Nodelist for agents stokvel network


neighborhoodNodeList

private java.util.ArrayList<HouseholdNode> neighborhoodNodeList
Nodelist for Household neighbor network


extendedFamilyNodeList

private java.util.ArrayList<HouseholdNode> extendedFamilyNodeList
Nodelist for Household extended family network


agentNodeMap

private java.util.HashMap<java.lang.Integer,ModelGUI.AgentNodeMap> agentNodeMap

agentFriendNodeMap

private java.util.HashMap<java.lang.Integer,ModelGUI.AgentNodeMap> agentFriendNodeMap

savingsNodeMap

private java.util.HashMap<java.lang.Integer,ModelGUI.AgentNodeMap> savingsNodeMap

householdNodeMap

private java.util.HashMap<java.lang.Integer,ModelGUI.HouseholdNodeMap> householdNodeMap

extendedFamilyNodeMap

private java.util.HashMap<java.lang.Integer,ModelGUI.HouseholdNodeMap> extendedFamilyNodeMap
Constructor Detail

ModelGUI

public ModelGUI(Model _model)
Constructor

Parameters:
_model -
Method Detail

initialize

public void initialize()
Initialize networks' lists


initializeAgentNodes

public void initializeAgentNodes()
social nodes at the agent's level


initializeSavingsNodes

public void initializeSavingsNodes()
Initialize savings nodes list


initializeAgentFriendsNodes

public void initializeAgentFriendsNodes()
Initialize friendships nodes list


removeAgentNode

public void removeAgentNode(Agent agent)
Remove agent from all networks

Parameters:
agent -

makeFriendsLinks

public void makeFriendsLinks(Agent agent)
Make friendship links

Parameters:
agent -

makeSavingsLinks

public void makeSavingsLinks(SavingsClub club)
Make savings links among club members

Parameters:
club -

removeSavingsMemberAll

public void removeSavingsMemberAll(SavingsClub club)
Remove savings members from the club

Parameters:
club -

removeSavingsMember

public void removeSavingsMember(Agent agent)
Remove the agent from the savings clubs

Parameters:
agent -

initializeExtendedFamilyNodes

public void initializeExtendedFamilyNodes()
Initialize extended family nodes


createExtendedFamilyLink

public void createExtendedFamilyLink(Household h1,
                                     Household h2)
Create extened family links for a newly created household

Parameters:
h1: - husband's household
h2: - wife's household

makeExtendedFamilyLinks

public void makeExtendedFamilyLinks(HouseholdNode node)

initializeHouseholdNodes

public void initializeHouseholdNodes()
Initialize household social links


createSquareLattic

public void createSquareLattic()
TODO: Need to give the source from where it is adapted.


getIJTie

public static int getIJTie(Node iNode,
                           Node jNode)
Need to give the source from where it is adapted


randomRewire

public void randomRewire(double rewireProb)
Repast's adaptation of random rewire, because households keep coming in the network

Parameters:
rewireProb -

initializeFuneralClubLinks

public void initializeFuneralClubLinks()

removeHousholdNode

public void removeHousholdNode(Household household)
Remove household from all netwokrs

Parameters:
household -

removeHouseholdNetworkNode

public void removeHouseholdNetworkNode(Household household)
Remove household from social neighborhood

Parameters:
household -

removeExtendedFamilyNode

public void removeExtendedFamilyNode(Household household)
Remove household from extended family network

Parameters:
household -

removeAgentFriendNode

public void removeAgentFriendNode(Agent agent)
Remove agent from friendship network

Parameters:
agent -

addSavingsNode

public void addSavingsNode(Agent agent)
Add agent to savings network

Parameters:
agent -

removeSavingsNode

public void removeSavingsNode(Agent agent)
Remove agent from savings network

Parameters:
agent -

addAgentNode

public void addAgentNode(Agent agent)
Add agent to all networks

Parameters:
agent -

addAgentFriendshipNode

public void addAgentFriendshipNode(Agent agent)
Add agent to friendship network

Parameters:
agent -

addHouseholdNode

public void addHouseholdNode(Household household)
Add household to all netwokrs

Parameters:
household -

addHouseholdNetworkNode

public void addHouseholdNetworkNode(Household household)
Add household to social neighborhood

Parameters:
household -

addExtendedFamilyNode

public void addExtendedFamilyNode(Household household)

inheritSocialLinks

public void inheritSocialLinks(Household household,
                               Household p1,
                               Household p2)
Inherit social links for this new household from the parents' households

Parameters:
household -
p1 -
p2 -

inheritLinks

public void inheritLinks(Household household,
                         Household p1,
                         Household p2)
inherit parents' links in this new household ...


normalizeHouseholdNodes

public void normalizeHouseholdNodes(HouseholdNode householdNode)
Remove some social neighborhood links randomly

Parameters:
householdNode -

returnNeighbors

public java.util.ArrayList<Household> returnNeighbors(Household household)
Return list of neighbors for this household

Parameters:
household -
Returns:

getAgentNodeList

public java.util.ArrayList<AgentNode> getAgentNodeList()
get agents node list

Returns:

getHouseholdNodeList

public java.util.ArrayList<HouseholdNode> getHouseholdNodeList()
get households node list

Returns:

getAgentNodeMap

public java.util.HashMap<java.lang.Integer,ModelGUI.AgentNodeMap> getAgentNodeMap()

getHouseholdNodeMap

public java.util.HashMap<java.lang.Integer,ModelGUI.HouseholdNodeMap> getHouseholdNodeMap()

getHouseholdNode

public HouseholdNode getHouseholdNode(Household household)

saveList

public void saveList(java.lang.String prefix,
                     java.util.ArrayList<Node> nodeList)

saveNodeListPajek

public void saveNodeListPajek(java.util.ArrayList<Node> nodeList,
                              java.lang.String prefix)
Original version from Friedrich. Adapted for our case. Saves network in Pajek format


saveListKS

public void saveListKS(java.util.ArrayList<Node> nodeList,
                       java.lang.String prefix)
Original version from Friedrich. Adapted for our case. Saves network for KS calculation


saveNodeListMotif

public void saveNodeListMotif(java.util.ArrayList<Node> nodeList,
                              java.lang.String prefix)
Original version from Friedrich. Adapted for our case. Saves network for motif analysis

Parameters:
nodeList -
prefix -

getAgentFriendsNodeList

public java.util.ArrayList<AgentNode> getAgentFriendsNodeList()

getSavingsNodeList

public java.util.ArrayList<AgentNode> getSavingsNodeList()

getSavingsNodeMap

public java.util.HashMap<java.lang.Integer,ModelGUI.AgentNodeMap> getSavingsNodeMap()

getAgentFriendNodeMap

public java.util.HashMap<java.lang.Integer,ModelGUI.AgentNodeMap> getAgentFriendNodeMap()

getExtendedFamilyNodeMap

public java.util.HashMap<java.lang.Integer,ModelGUI.HouseholdNodeMap> getExtendedFamilyNodeMap()

getExtendedFamilyNodeList

public java.util.ArrayList<HouseholdNode> getExtendedFamilyNodeList()