alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

What this is

This file is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Other links

The source code

/*
 * $Header: /cvsroot/mvnforum/mvnforum/src/com/mvnforum/db/CompanyDAO.java,v 1.19 2005/01/18 11:52:17 minhnn Exp $
 * $Author: minhnn $
 * $Revision: 1.19 $
 * $Date: 2005/01/18 11:52:17 $
 *
 * ====================================================================
 *
 * Copyright (C) 2002-2005 by MyVietnam.net
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or any later version.
 *
 * All copyright notices regarding mvnForum MUST remain intact
 * in the scripts and in the outputted HTML.
 * The "powered by" text/logo with a link back to
 * http://www.mvnForum.com and http://www.MyVietnam.net in the
 * footer of the pages MUST remain visible when the pages
 * are viewed on the internet or intranet.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 *
 * Support can be obtained from support forums at:
 * http://www.mvnForum.com/mvnforum/index
 *
 * Correspondence and Marketing Questions can be sent to:
 * info@MyVietnam.net
 *
 * @author: Tran Van Giang trangiang1605@users.sourceforge.net
 * @author: Minh Nguyen    minhnn@MyVietnam.net
 */
package com.mvnforum.db;

import java.sql.Timestamp;
import java.util.Collection;

import net.myvietnam.mvncore.exception.AssertionException;
import net.myvietnam.mvncore.exception.CreateException;
import net.myvietnam.mvncore.exception.DatabaseException;
import net.myvietnam.mvncore.exception.DuplicateKeyException;
import net.myvietnam.mvncore.exception.ObjectNotFoundException;
import net.myvietnam.mvncore.exception.ForeignKeyNotFoundException;

public interface CompanyDAO {

    public static final String TABLE_NAME = DatabaseConfig.TABLE_PREFIX + "Company";

    public void findByPrimaryKey(int companyID)
        throws ObjectNotFoundException, DatabaseException;

    public void findByAlternateKey_GroupID(int groupID)
        throws ObjectNotFoundException, DatabaseException;

    public void findByAlternateKey_CompanyName(String companyName)
        throws ObjectNotFoundException, DatabaseException;

    public void findByAlternateKey_CompanyEmail(String companyEmail)
        throws ObjectNotFoundException, DatabaseException;

    public void findByAlternateKey_CompanySpaceName(String companySpaceName)
        throws ObjectNotFoundException, DatabaseException;

    public void create(int groupID, String companyName, String companyAddress,
                        String companyCity, String companyCAP, String companyProvince,
                        String companyRegion, String companyPhone, String companyFax,
                        String companyWebsite, String companyEmail, String companySpaceName,
                        String companySpaceHeader, String companySpaceFooter, String companyVATNumber,
                        String companyLogo, String companyCss, Timestamp companyCreationDate,
                        Timestamp companyModifiedDate)
        throws CreateException, DatabaseException, DuplicateKeyException, ForeignKeyNotFoundException;

    public void delete(int companyID)
        throws ObjectNotFoundException, DatabaseException;

    public void updateCompanyInfo(int companyID, // primary key
                        String companyName, String companyAddress, String companyCity,
                        String companyCAP, String companyProvince, String companyRegion,
                        String companyPhone, String companyFax, String companyWebsite,
                        String companyEmail, String companySpaceName, String companySpaceHeader,
                        String companySpaceFooter, String companyVATNumber, Timestamp companyModifiedDate)
        throws ObjectNotFoundException, DatabaseException, DuplicateKeyException;

    public void updateCompanyLogo(int companyID, String virtualFile)
        throws ObjectNotFoundException, DatabaseException;

    public void updateCompanyCss(int companyID, String virtualFile)
        throws  ObjectNotFoundException, DatabaseException;

    public int getCompanyIDFromGroupID(int groupID)
        throws ObjectNotFoundException, DatabaseException;

    /* @todo check if this method work with other DBMS other than MySql (check case-sensitive) */
    public int getCompanyIDFromCompanyEmail(String companyEmail)
        throws ObjectNotFoundException, DatabaseException;

    public int getCompanyIDFromCompanySpaceName(String companySpaceName)
        throws ObjectNotFoundException, DatabaseException;

    // note: the implementation of this method is too slow
    public int getCompanyIDFromCompanyCreationDate(java.util.Date companyCreationDate)
        throws ObjectNotFoundException, DatabaseException;

    public CompanyBean getCompany(int companyID)
        throws ObjectNotFoundException, DatabaseException;

    public Collection getCompanies_withSortSupport_limit(int offset, int rowsToReturn, String sort, String order)
        throws IllegalArgumentException, DatabaseException;

    public int getNumberOfCompanies()
        throws AssertionException, DatabaseException;

    /**
     * This method could be used to get all company when rebuild lucene search index
     *
     * @throws DatabaseException
     * @return Collection
     */
    public Collection getCompanies()
        throws DatabaseException;

} //end of CompanyDAO class
... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.