Initial revision
[mir.git] / source / mir / entity / EntityList.java
diff --git a/source/mir/entity/EntityList.java b/source/mir/entity/EntityList.java
new file mode 100755 (executable)
index 0000000..98883c8
--- /dev/null
@@ -0,0 +1,199 @@
+/*
+ * put your module comment here
+ */
+
+
+package  mir.entity;
+
+import java.lang.*;
+import java.util.*;
+import mir.misc.*;
+
+
+/**
+ *
+ * abstrakte Containerklasse für Listen von Entities.
+ *
+ * @author <RK>
+ * @version    27.6.1999
+ */
+public class EntityList {
+               private static Logfile     theLog;
+               private ArrayList          theEntityArrayList;
+               private String             whereClause;
+               private String             orderClause;
+               private int                count;
+               private int                offset;
+               private int                offsetnext = -1;
+               private int                offsetprev = -1;
+
+       /**
+        * Konstruktor für leere Liste von Entities
+        */
+               public EntityList(){
+                       this.theEntityArrayList = new ArrayList();
+                       if (theLog == null)
+                        this.theLog = Logfile.getInstance(Configuration.getProperty("Home") + Configuration.getProperty("Entity.Logfile"));
+               }
+
+       /**
+        * Setzt die WhereClause, mit der die Entitis dieser Liste geholt wurden.
+        * @param wc
+        */
+               public void setWhere(String wc) {
+                       this.whereClause = wc;
+               }
+
+       /**
+        * Liefert die WhereClause zurueck, mit der die Entities geholt wurden.
+        * @return whereClause
+        */
+               public String getWhere() {
+                       return whereClause;
+               }
+
+       /**
+        * Setzt das Sortierkriterium fest, mit der die Entities in die Liste
+        * gestellt wurden.
+        *
+        * @param oc
+        */
+               public void setOrder(String oc) {
+                       this.orderClause = oc;
+               }
+
+       /**
+        * Liefert das Sortierkriterium der Liste zurueck.
+        * @return orderClause
+        */
+               public String getOrder() {
+                       return orderClause;
+               }
+
+       /**
+        * Setzt die Anzahl der Datensätze fest, die WhereClause erfüllen.
+        * @param i
+        */
+               public void setCount(int i) {
+                       this.count = i;
+               }
+
+       /**
+        * Liefert Anzahle der Datensätze, die WhereClause erfüllen.
+        * @return
+        */
+               public int getCount() {
+                       return count;
+               }
+
+       /**
+        * Setzt den Offset fest.
+        * @param i
+        */
+               public void setOffset(int i) {
+                       offset = i;
+               }
+
+       /**
+        * Liefert den Offset zurueck
+        * @return offset
+        */
+               public int getOffset() {
+                       return offset;
+               }
+
+       /**
+        * Setzt den offset für das naechste Batch von Entities fest.
+        * @param i
+        */
+               public void setNextBatch(int i) {
+                       offsetnext = i;
+               }
+
+       /**
+        * Liefert den offset für das naechste Batch von Entities
+        * @return offset für naechstes Batch
+        */
+               public int getNextBatch() {
+                       return offsetnext;
+               }
+
+       /**
+        * Fragt ab, ob es noch nachfolgendes Batch innerhalb der WhereClause gibt
+        * @return
+        */
+               public boolean hasNextBatch() {
+                       return (offsetnext >= 0);
+               }
+
+       /**
+        * Setzt offset des vorhergehenden Batches fest.
+        * @param i
+        */
+               public void setPrevBatch(int i) {
+                       offsetprev = i;
+               }
+
+       /**
+        * Liefert offset des vorhergehenden Batches zurueck.
+        * @return offset des vorhergehenden Batches.
+        */
+               public int getPrevBatch() {
+                       return offsetprev;
+               }
+
+       /**
+        * Fragt ab, ob es ein vorhergehendes Batch gibt
+        * @return true wenn ja, sont false
+        */
+               public boolean hasPrevBatch() {
+                       return (offsetprev >= 0);
+               }
+
+       /**
+        * Liefert den Startindex des Batches zurueck.
+        * @return
+        */
+               public int getFrom() {
+                       return offset+1;
+               }
+
+       /**
+        * Liefert den Endindex des Batches zurueck.
+        * @return
+        */
+               public int getTo() {
+       if (hasNextBatch())
+                       return offsetnext;
+       else
+                       return count;
+               }
+
+       /**
+        * Fügt eine Entity in die Liste ein
+        * @param anEntity
+        */
+       public void add (Entity anEntity) {
+       if (anEntity!=null)
+                       theEntityArrayList.add(anEntity);
+       else
+                       theLog.printWarning("add (EntityList) mit leerer Entity");
+               }
+
+       /**
+        * @return Anzahl der Entities in der Liste
+        */
+               public int size() {
+       return theEntityArrayList.size();
+               }
+
+
+
+
+
+
+               public Entity elementAt(int i) {
+                       return (Entity)theEntityArrayList.get(i);
+               }
+
+}