Package anvil.server.simple

Source Code of anvil.server.simple.SimpleRealm

/*
* $Id: SimpleRealm.java,v 1.14 2002/09/16 08:05:06 jkl Exp $
*
* Copyright (c) 2002 Njet Communications Ltd. All Rights Reserved.
*
* Use is subject to license terms, as defined in
* Anvil Sofware License, Version 1.1. See LICENSE
* file, or http://njet.org/license-1.1.txt
*/
package anvil.server.simple;

import java.util.Iterator;
import java.util.HashSet;
import java.util.ArrayList;
import java.util.List;
import anvil.java.util.BindingEnumeration;
import anvil.core.Any;
import anvil.core.Array;
import anvil.java.util.Hashlist;
import anvil.util.Map;
import anvil.server.RealmPreferences;
import anvil.server.Zone;
import anvil.server.Citizen;
import anvil.server.Realm;
import anvil.server.Tribe;
import anvil.server.Citizen;
import anvil.server.Realm;
import anvil.server.Tribe;
import anvil.server.Citizen;
import anvil.server.OperationFailedException;

/**
* interface SimpleRealm
*
* @author: Jani Lehtim�ki
*/

public class SimpleRealm implements Realm
{

  private Map _map = new Map();
  private Hashlist _citizens = new Hashlist();
  private SimpleTribe _root;
  private Zone _zone;
  private String _name;


  public SimpleRealm()
  {
    SimpleTribe root = new SimpleTribe(this, "root");
    SimpleCitizen user = (SimpleCitizen)createCitizen("user", "xxx");
    root.attach(user);
    setRoot(root);
  }


  public String toString()
  {
    return "SimpleRealm("+_name+")";
  }
 

  void addMapping(Object a, Object b)
  {
    _map.add(a, b);
  }


  void removeMapping(Object a, Object b)
  {
    _map.remove(a, b);
  }


  void removeMappings(Object a)
  {
    _map.remove(a);
  }


  boolean isMapped(Object o, Class elemcls, boolean left, boolean right)
  {
    return _map.isMapped(o, elemcls, left, right);
  }


  Object[] getMappings(Object o, Class elemcls, boolean left, boolean right)
  {
    return _map.get(o, elemcls, left, right);
  }


  public void initialize(RealmPreferences prefs)
  {
    _zone = prefs.getParent();
    _name = prefs.getName();
    _zone.log().info("Realm " + this + " initialized");
  }


  public Citizen getAnonymousCitizen()
  {
    return null;
  }


  public Citizen[] searchCitizenByVariable(String variable, String value)
  {
    return null;
  }


  public Citizen getCitizen(String username)
  {
    Citizen citizen = (Citizen)_citizens.get(username);
    if (citizen == null) {
      Citizen mc = createCitizen(username, "xxx");
      _root.attach(mc);
      citizen = mc;
    }
    return citizen;
  }


  public Tribe getTribe(String name)
  {
    if (name == null) {
      return null;
    } else if (name.equals("root")) {
      return _root;
    } else {
      return new SimpleTribe(this, name);
    }
  }


  public Citizen createCitizen(String name, String credentials)
  {
    SimpleCitizen citizen = new SimpleCitizen(this, name, credentials);
    _citizens.put(citizen.getName(), citizen);
    return citizen;
  }
 

  public Citizen createCitizen(String name, String credentials, String[][] params)
  {
    return createCitizen(name, credentials);
  }
 

  public Tribe createTribe(String name)
  {
    return new SimpleTribe(this, name);
  }


  public Tribe getRoot()
  {
    return _root;
  }
 

  public void setRoot(Tribe tribe)
  {
    _root = (SimpleTribe)tribe;
  }


  public void stop()
  {
    _map.clear();
    _citizens.clear();
    _root = null;
    _zone.log().info("Realm " + this + " stopped");
  }

 
}

TOP

Related Classes of anvil.server.simple.SimpleRealm

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.