merged 1.1 branch into head
[mir.git] / source / mir / entity / EntityList.java
index e9c839a..e85890f 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2001, 2002 The Mir-coders group
+ * Copyright (C) 2005 The Mir-coders group
  *
  * This file is part of Mir.
  *
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  *
  * In addition, as a special exception, The Mir-coders gives permission to link
- * the code of this program with  any library licensed under the Apache Software License,
- * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library
- * (or with modified versions of the above that use the same license as the above),
- * and distribute linked combinations including the two.  You must obey the
- * GNU General Public License in all respects for all of the code used other than
- * the above mentioned libraries.  If you modify this file, you may extend this
+ * the code of this program with  any library licensed under the Apache Software License.
+ * You must obey the GNU General Public License in all respects for all of the code used
+ * other than the above mentioned libraries.  If you modify this file, you may extend this
  * exception to your version of the file, but you are not obligated to do so.
  * If you do not wish to do so, delete this exception statement from your version.
  */
 package mir.entity;
 
-import java.util.ArrayList;
-import java.util.Set;
-
-import mir.config.MirPropertiesConfiguration;
-import mir.config.MirPropertiesConfiguration.PropertiesConfigExc;
 import mir.log.LoggerWrapper;
-import mir.storage.StorageObject;
+import mir.storage.Database;
 import mir.storage.store.StorableObject;
 import mir.storage.store.StoreContainerType;
 import mir.storage.store.StoreIdentifier;
 import mir.storage.store.StoreUtil;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
 /**
  *
  * Container class for lists of Entities.
- * Now implements @see mir.storage.store.StorableObject.
+ * Now implements @see mir.database.store.StorableObject.
  *
- * @author <RK>
+ * @author rk
  * first version       27.6.1999
  *
  * @version 1.1 (cleaned up)
  */
 public class EntityList implements StorableObject {
-  protected static MirPropertiesConfiguration configuration  = MirPropertiesConfiguration.instance();
   protected LoggerWrapper logger;
-  private ArrayList           theEntityArrayList = new ArrayList();
+  private List                entities = new ArrayList();
   private String              whereClause, orderClause;
-  private StorageObject       theStorage;
-  private int                 count, offset, limit;
-  private int                 offsetnext = -1, offsetprev = -1;
+  private Database            storage;
+  private int                 offset, limit;
+  private int                 nextOffset = -1;
 
   public EntityList(){
     logger = new LoggerWrapper("Entity.List");
   }
 
-/* get/set EntityClass of Objects stored in EntityList */
-  public void setStorage(StorageObject storage) { this.theStorage=storage; }
-  public StorageObject getStorage() { return theStorage; }
+  public void setStorage(Database aStorage) {
+    storage=aStorage;
+  }
+
+  public Database getStorage() {
+    return storage;
+  }
 
-  public void setLimit(int limit) { this.limit = limit; }
+  public void setLimit(int aLimit) {
+    limit = aLimit;
+  }
 
   /**
    * Sets the WHERE clause that fetched the Entities of this EntityList from the database.
+   *
    * @param wc The string that contains the WHERE clause
    */
   public void setWhere(String wc) {
@@ -79,15 +81,8 @@ public class EntityList implements StorableObject {
   }
 
   /**
-   * Returns the WHERE clause that returned this EntityList from the database
-   * @return whereClause The WHERE clause
-   */
-  public String getWhere() {
-    return whereClause;
-  }
-
-  /**
    * Sets the sorting criterium of this EntityList
+   *
    * @param oc
    */
   public void setOrder(String oc) {
@@ -95,31 +90,8 @@ public class EntityList implements StorableObject {
   }
 
   /**
-   * Returns the sorting criterium.
-   * @return orderClause The sort order
-   */
-  public String getOrder() {
-    return orderClause;
-  }
-
-  /**
-   * Sets the number of rows that match the WHERE clause
-   * @param i The number of rows that match the WHERE clause
-   */
-  public void setCount(int i) {
-    this.count = i;
-  }
-
-  /**
-   * Returns the number of rows that match the WHERE clause
-   * @return The number of rows ...
-   */
-  public int getCount() {
-    return count;
-  }
-
-  /**
    * Sets the offset
+   *
    * @param i The offset
    */
   public void setOffset(int i) {
@@ -128,6 +100,7 @@ public class EntityList implements StorableObject {
 
   /**
    * Returns the offset
+   *
    * @return offset
    */
   public int getOffset() {
@@ -136,79 +109,40 @@ public class EntityList implements StorableObject {
 
   /**
    * Sets the offset of the next batch of Entities.
+   *
    * @param i The next offset
    */
   public void setNextBatch(int i) {
-    offsetnext = i;
+    nextOffset = i;
   }
 
   /**
    * Returns the offset of the next batch of Entities.
+   *
    * @return offset of the next batch
    */
   public int getNextBatch() {
-    return offsetnext;
+    return nextOffset;
   }
 
   /**
    * Returns whether there is a next batch within the WHERE clause
+   *
    * @return true if yes, false if no.
    */
   public boolean hasNextBatch() {
-    return (offsetnext >= 0);
-  }
-
-  /**
-   * Sets the offset of the previous batch.
-   * @param i the previous offset
-   */
-  public void setPrevBatch(int i) {
-    offsetprev = i;
-  }
-
-  /**
-   * Returns the offset of the previous batch.
-   * @return offset of the previous batch
-   */
-  public int getPrevBatch() {
-    return offsetprev;
-  }
-
-  /**
-   * Returns whether there is a previous batch.
-   * @return true if yes, false if no
-   */
-  public boolean hasPrevBatch() {
-    return (offsetprev >= 0);
-  }
-
-  /**
-   * Returns the start index of the batch.
-   * @return
-   */
-  public int getFrom() {
-    return offset+1;
-  }
-
-  /**
-   * Returns the end index of the batch.
-   * @return
-   */
-  public int getTo() {
-    if (hasNextBatch())
-      return offsetnext;
-    else
-      return count;
+    return (nextOffset >= 0);
   }
 
   /**
    * Inserts an Entity into the EntityList.
+   *
    * @param anEntity The entity to be inserted.
    */
 
   public void add (Entity anEntity) {
     if (anEntity!=null)
-      theEntityArrayList.add(anEntity);
+      entities.add(anEntity);
     else
       logger.warn("EntityList: add called with empty Entity");
   }
@@ -219,7 +153,7 @@ public class EntityList implements StorableObject {
    */
 
   public int size() {
-    return theEntityArrayList.size();
+    return entities.size();
   }
 
 
@@ -230,8 +164,7 @@ public class EntityList implements StorableObject {
    */
 
   public Entity elementAt(int i) {
-    /** todo check if i is in list.size() */
-    return (Entity) theEntityArrayList.get(i);
+    return (Entity) entities.get(i);
   }
 
 
@@ -241,14 +174,16 @@ public class EntityList implements StorableObject {
   public Set getNotifyOnReleaseSet() { return null; }
 
   public StoreIdentifier getStoreIdentifier() {
-    if ( theStorage!=null ) {
+    if ( storage!=null ) {
       return
-      new StoreIdentifier( this, StoreContainerType.STOC_TYPE_ENTITYLIST,
-      StoreUtil.getEntityListUniqueIdentifierFor( theStorage.getTableName(),
-      whereClause, orderClause, offset, limit ));
+        new StoreIdentifier(
+                this, StoreContainerType.STOC_TYPE_ENTITYLIST,
+                StoreUtil.getEntityListUniqueIdentifierFor( storage.getTableName(),
+                whereClause, orderClause, offset, limit ));
     }
-    logger.warn("EntityList could not return StoreIdentifier");
-    return null;
+               logger.warn("EntityList could not return StoreIdentifier");
+               
+               return null;
   }
 
 }