Package anvil.server

Source Code of anvil.server.SessionContainerPreferences

/*
* $Id: SessionContainerPreferences.java,v 1.8 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;

import java.io.IOException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import anvil.session.SessionContainer;

/**
* class SessionContainerPreferences
*
* @author: Jani Lehtim�ki
*/
public class SessionContainerPreferences extends Preferences
{

  public static final String[] PREFERENCES = {
    "provider", "string",
    "checkout", "int",
    "idlength", "int",
  };

  private int _checkout = 30;
  private int _id_length = 20;
  private String _provider = "anvil.session.basic.BasicSessionContainer";


  public SessionContainerPreferences(Zone parent)
  {
    super(parent);
  }

 

  public void setCheckoutFrequency(int checkout)
  {
    _checkout = checkout;
  }

 
  public int getCheckoutFrequency()
  {
    return _checkout;
  }

 
  public void setIdLength(int length)
  {
    _id_length = length;
  }

 
  public int getIdLength()
  {
    return _id_length;
  }



  public void setProvider(String provider)
  {
    if (provider != null) {
      _provider = provider;
    }
  }

 
  public String getProvider()
  {
    return _provider;
  }


  public int getType()
  {
    return SESSION_CONTAINER;
  }


  public String[] getPreferences()
  {
    return PREFERENCES;
  }
 
 
  public Object getPreference(String name)
  {
    if (name.equalsIgnoreCase("checkout")) {
      return new Integer(_checkout);
    }
    if (name.equalsIgnoreCase("idlength")) {
      return new Integer(_id_length);   
    }
    if (name.equalsIgnoreCase("provider")) {
      return _provider;
    }
    return super.getPreference(name);
 
 
 
  public boolean setPreference(String name, String value)
  {
    if (name.equalsIgnoreCase("checkout")) {
      setCheckoutFrequency(ConfigReader.toInt(value));
    } else if (name.equalsIgnoreCase("idlength")) {
      setIdLength(ConfigReader.toInt(value));
    } else if (name.equalsIgnoreCase("provider")) {
      setProvider(value);
    } else {   
      return super.setPreference(name, value);
    }
    return true;
  }
 

  public SessionContainer createContainer()
  {
    try {
      SessionContainer container = (SessionContainer)Class.forName(_provider).newInstance();
      container.initialize(getParent());
      return container;
    } catch (ConfigurationError e) {
      e.fillInStackTrace();
      throw e;
    } catch (Throwable t) {
      throw new ConfigurationError("Couldn't create session container: " +
        _provider + ", reason: " + t.toString());
    }
  }
}

TOP

Related Classes of anvil.server.SessionContainerPreferences

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.