Package com.uwyn.drone.modules.seenmanagement.databasedrivers

Source Code of com.uwyn.drone.modules.seenmanagement.databasedrivers.generic

/*
* Copyright 2002-2005 Uwyn bvba/sprl <info[remove] at uwyn dot com>
* Distributed under the terms of the GNU Lesser General Public
* License, v2.1 or later
*
* $Id: generic.java 1308 2005-02-11 10:30:45Z gbevin $
*/
package com.uwyn.drone.modules.seenmanagement.databasedrivers;

import com.uwyn.drone.core.Bot;
import com.uwyn.drone.core.Channel;
import com.uwyn.drone.modules.exceptions.SeenManagerException;
import com.uwyn.drone.modules.seenmanagement.DatabaseSeen;
import com.uwyn.drone.modules.seenmanagement.SeenData;
import com.uwyn.rife.database.Datasource;
import com.uwyn.rife.database.queries.CreateTable;
import com.uwyn.rife.database.queries.DropTable;
import com.uwyn.rife.database.queries.Insert;
import com.uwyn.rife.database.queries.Select;
import com.uwyn.rife.database.queries.Update;

public class generic extends DatabaseSeen
{
  protected CreateTable  mCreateTableSeen = null;
  protected Select    mGetSeen = null;
  protected Insert    mAddSeen = null;
  protected Update    mUpdateSeen = null;
  protected Select    mSearchSeenMessage = null;
  protected DropTable    mDropTableSeen = null;
 
  public generic(Datasource datasource)
  {
    super(datasource);

    mCreateTableSeen = new CreateTable(getDatasource())
      .table("seen")
      .column("botname", String.class, 30, CreateTable.NOTNULL)
      .column("channel", String.class, 30, CreateTable.NOTNULL)
      .column("servername", String.class, 60, CreateTable.NOTNULL)
      .columns(SeenData.class)
      .primaryKey("SEEN_PK", new String[] {"botname", "channel", "servername", "nickname"});

    mGetSeen = (Select)new Select(getDatasource())
      .from("seen")
      .whereParameter("botname", "=")
      .whereParameterAnd("channel", "=")
      .whereParameterAnd("servername", "=")
      .whereParameterAnd("lower(nickname)", "nickname", "=");

    mAddSeen = new Insert(getDatasource())
      .into("seen")
      .fieldParameter("botname")
      .fieldParameter("channel")
      .fieldParameter("servername")
      .fieldsParameters(SeenData.class);

    mUpdateSeen = (Update)new Update(getDatasource())
      .table("seen")
      .fieldsParameters(SeenData.class)
      .whereParameter("botname", "=")
      .whereParameterAnd("channel", "=")
      .whereParameterAnd("servername", "=")
      .whereParameterAnd("lower(nickname)", "currentnickname", "=");

    mDropTableSeen = new DropTable(getDatasource())
      .table("seen");
  }
 
  public boolean install()
  throws SeenManagerException
  {
    return _install(mCreateTableSeen);
  }

  public void recordSeen(Bot bot, Channel channel, SeenData seenData)
  throws SeenManagerException
  {
    _recordSeen(mAddSeen, mUpdateSeen, bot, channel, seenData);
  }
 
  public SeenData getSeen(Bot bot, Channel channel, String nickname)
  throws SeenManagerException
  {
    return _getSeen(mGetSeen, bot, channel, nickname);
  }
 
  public boolean remove()
  throws SeenManagerException
  {
    return _remove(mDropTableSeen);
  }
}
TOP

Related Classes of com.uwyn.drone.modules.seenmanagement.databasedrivers.generic

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.