--- /dev/null
+/*
+ * 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);
+ }
+
+}