CategoryDAO.java
Upload User: gdxydsw
Upload Date: 2019-01-29
Package Size: 16721k
Code Size: 4k
Category:

Java Develop

Development Platform:

Java

  1. /*
  2.  * Copyright (c) JForum Team
  3.  * All rights reserved.
  4.  * 
  5.  * Redistribution and use in source and binary forms, 
  6.  * with or without modification, are permitted provided 
  7.  * that the following conditions are met:
  8.  * 
  9.  * 1) Redistributions of source code must retain the above 
  10.  * copyright notice, this list of conditions and the 
  11.  * following  disclaimer.
  12.  * 2)  Redistributions in binary form must reproduce the 
  13.  * above copyright notice, this list of conditions and 
  14.  * the following disclaimer in the documentation and/or 
  15.  * other materials provided with the distribution.
  16.  * 3) Neither the name of "Rafael Steil" nor 
  17.  * the names of its contributors may be used to endorse 
  18.  * or promote products derived from this software without 
  19.  * specific prior written permission.
  20.  * 
  21.  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT 
  22.  * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
  23.  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, 
  24.  * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
  25.  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
  26.  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 
  27.  * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE 
  28.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
  29.  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
  30.  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
  31.  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
  32.  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
  33.  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER 
  34.  * IN CONTRACT, STRICT LIABILITY, OR TORT 
  35.  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 
  36.  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
  37.  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
  38.  * 
  39.  * This file creation date: Feb 19, 2003 / 8:56:14 PM
  40.  * The JForum Project
  41.  * http://www.jforum.net 
  42.  */
  43. package net.jforum.dao;
  44. import java.util.List;
  45. import net.jforum.entities.Category;
  46. /**
  47.  * Model interface for {@link net.jforum.entities.Category}.
  48.  * This interface defines methods which are expected to be
  49.  * implementd by a specific data access driver. The intention is
  50.  * to provide all functionality needed to update, insert, delete and
  51.  * select some specific data.
  52.  * 
  53.  * @author Rafael Steil
  54.  * @version $Id: CategoryDAO.java,v 1.6 2006/08/23 02:13:34 rafaelsteil Exp $
  55.  */
  56. public interface CategoryDAO 
  57. {
  58. /**
  59.  * Gets a specific <code>Category</code>.
  60.  * 
  61.  * @param categoryId The Category ID to search
  62.  * @return <code>Category</code>object containing all the information
  63.  * @see #selectAll
  64.  */
  65. public Category selectById(int categoryId);
  66. /**
  67.  * Selects all categories data from the database.
  68.  * 
  69.  * @return ArrayList with the categories found 
  70.  * @see #selectById
  71.  */
  72. public List selectAll();
  73. /**
  74.  * Checks if is possible to delete a specific category.
  75.  * 
  76.  * @param categoryId The category ID to verify
  77.  * @return <code>true</code> if is possible to delete, <code>false</code> if not
  78.  * @see #delete(int)
  79.  */
  80. public boolean canDelete(int categoryId);
  81. /**
  82.  * Delete a category.
  83.  * 
  84.  * @param categoryId The category ID to delete
  85.  * @see #canDelete(int)
  86.  */
  87. public void delete(int categoryId);
  88. /**
  89.  * Updates a category.
  90.  * 
  91.  * @param category Reference to a <code>Category</code> object to update
  92.  */
  93. public void update(Category category);
  94. /**
  95.  * Adds a new category.
  96.  * 
  97.  * @param category Reference to a valid and configured <code>Category</code> object
  98.      * @return int
  99.  */
  100. public int addNew(Category category);
  101. /**
  102.  * Changes the display order of some category.
  103.  *  
  104.  * @param category The <code>Category</code> instance to change its order
  105.  * @see #setOrderDown(net.jforum.entities.Category, net.jforum.entities.Category)
  106.      * @param otherCategory Category
  107.  */
  108. public void setOrderUp(Category category, Category otherCategory);
  109. /**
  110.  * Changes the display order of some category.
  111.  *  
  112.  * @param category The <code>Category</code> instance to change its order
  113.  *
  114.  * @see #setOrderUp(net.jforum.entities.Category, net.jforum.entities.Category)
  115.      * @param otherCategory Category
  116.  */
  117. public void setOrderDown(Category category, Category otherCategory);
  118. }