You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by jo...@apache.org on 2006/10/09 19:15:42 UTC
svn commit: r454432 [9/14] - in /james/server/sandbox/imap-integration: ./
lib/ src/java/ src/java/org/apache/james/imapserver/
src/java/org/apache/james/imapserver/commands/
src/java/org/apache/james/imapserver/debug/
src/java/org/apache/james/imapser...
Added: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/BaseMessageFlags.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/BaseMessageFlags.java?view=auto&rev=454432
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/BaseMessageFlags.java (added)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/BaseMessageFlags.java Mon Oct 9 10:15:30 2006
@@ -0,0 +1,770 @@
+package org.apache.james.mailboxmanager.torque.om;
+
+
+import java.math.BigDecimal;
+import java.sql.Connection;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+
+import org.apache.commons.lang.ObjectUtils;
+import org.apache.torque.TorqueException;
+import org.apache.torque.om.BaseObject;
+import org.apache.torque.om.ComboKey;
+import org.apache.torque.om.DateKey;
+import org.apache.torque.om.NumberKey;
+import org.apache.torque.om.ObjectKey;
+import org.apache.torque.om.SimpleKey;
+import org.apache.torque.om.StringKey;
+import org.apache.torque.om.Persistent;
+import org.apache.torque.util.Criteria;
+import org.apache.torque.util.Transaction;
+
+
+
+
+
+/**
+ * This class was autogenerated by Torque on:
+ *
+ * [Tue Sep 19 10:06:28 CEST 2006]
+ *
+ * You should not use this class directly. It should not even be
+ * extended all references should be to MessageFlags
+ */
+public abstract class BaseMessageFlags extends BaseObject
+{
+ /** The Peer class */
+ private static final MessageFlagsPeer peer =
+ new MessageFlagsPeer();
+
+
+ /** The value for the mailboxId field */
+ private long mailboxId;
+
+ /** The value for the uid field */
+ private long uid;
+
+ /** The value for the answered field */
+ private boolean answered = false;
+
+ /** The value for the deleted field */
+ private boolean deleted = false;
+
+ /** The value for the draft field */
+ private boolean draft = false;
+
+ /** The value for the flagged field */
+ private boolean flagged = false;
+
+ /** The value for the recent field */
+ private boolean recent = false;
+
+ /** The value for the seen field */
+ private boolean seen = false;
+
+
+ /**
+ * Get the MailboxId
+ *
+ * @return long
+ */
+ public long getMailboxId()
+ {
+ return mailboxId;
+ }
+
+
+ /**
+ * Set the value of MailboxId
+ *
+ * @param v new value
+ */
+ public void setMailboxId(long v) throws TorqueException
+ {
+
+ if (this.mailboxId != v)
+ {
+ this.mailboxId = v;
+ setModified(true);
+ }
+
+
+ if (aMessageRow != null && !(aMessageRow.getMailboxId() == v))
+ {
+ aMessageRow = null;
+ }
+
+ }
+
+ /**
+ * Get the Uid
+ *
+ * @return long
+ */
+ public long getUid()
+ {
+ return uid;
+ }
+
+
+ /**
+ * Set the value of Uid
+ *
+ * @param v new value
+ */
+ public void setUid(long v) throws TorqueException
+ {
+
+ if (this.uid != v)
+ {
+ this.uid = v;
+ setModified(true);
+ }
+
+
+ if (aMessageRow != null && !(aMessageRow.getUid() == v))
+ {
+ aMessageRow = null;
+ }
+
+ }
+
+ /**
+ * Get the Answered
+ *
+ * @return boolean
+ */
+ public boolean getAnswered()
+ {
+ return answered;
+ }
+
+
+ /**
+ * Set the value of Answered
+ *
+ * @param v new value
+ */
+ public void setAnswered(boolean v)
+ {
+
+ if (this.answered != v)
+ {
+ this.answered = v;
+ setModified(true);
+ }
+
+
+ }
+
+ /**
+ * Get the Deleted
+ *
+ * @return boolean
+ */
+ public boolean getDeleted()
+ {
+ return deleted;
+ }
+
+
+ /**
+ * Set the value of Deleted
+ *
+ * @param v new value
+ */
+ public void setDeleted(boolean v)
+ {
+
+ if (this.deleted != v)
+ {
+ this.deleted = v;
+ setModified(true);
+ }
+
+
+ }
+
+ /**
+ * Get the Draft
+ *
+ * @return boolean
+ */
+ public boolean getDraft()
+ {
+ return draft;
+ }
+
+
+ /**
+ * Set the value of Draft
+ *
+ * @param v new value
+ */
+ public void setDraft(boolean v)
+ {
+
+ if (this.draft != v)
+ {
+ this.draft = v;
+ setModified(true);
+ }
+
+
+ }
+
+ /**
+ * Get the Flagged
+ *
+ * @return boolean
+ */
+ public boolean getFlagged()
+ {
+ return flagged;
+ }
+
+
+ /**
+ * Set the value of Flagged
+ *
+ * @param v new value
+ */
+ public void setFlagged(boolean v)
+ {
+
+ if (this.flagged != v)
+ {
+ this.flagged = v;
+ setModified(true);
+ }
+
+
+ }
+
+ /**
+ * Get the Recent
+ *
+ * @return boolean
+ */
+ public boolean getRecent()
+ {
+ return recent;
+ }
+
+
+ /**
+ * Set the value of Recent
+ *
+ * @param v new value
+ */
+ public void setRecent(boolean v)
+ {
+
+ if (this.recent != v)
+ {
+ this.recent = v;
+ setModified(true);
+ }
+
+
+ }
+
+ /**
+ * Get the Seen
+ *
+ * @return boolean
+ */
+ public boolean getSeen()
+ {
+ return seen;
+ }
+
+
+ /**
+ * Set the value of Seen
+ *
+ * @param v new value
+ */
+ public void setSeen(boolean v)
+ {
+
+ if (this.seen != v)
+ {
+ this.seen = v;
+ setModified(true);
+ }
+
+
+ }
+
+
+
+
+
+ private MessageRow aMessageRow;
+
+ /**
+ * Declares an association between this object and a MessageRow object
+ *
+ * @param v MessageRow
+ * @throws TorqueException
+ */
+ public void setMessageRow(MessageRow v) throws TorqueException
+ {
+ if (v == null)
+ {
+ setMailboxId( 0);
+ }
+ else
+ {
+ setMailboxId(v.getMailboxId());
+ }
+ if (v == null)
+ {
+ setUid( 0);
+ }
+ else
+ {
+ setUid(v.getUid());
+ }
+ aMessageRow = v;
+ }
+
+
+ /**
+ * Returns the associated MessageRow object.
+ * If it was not retrieved before, the object is retrieved from
+ * the database
+ *
+ * @return the associated MessageRow object
+ * @throws TorqueException
+ */
+ public MessageRow getMessageRow()
+ throws TorqueException
+ {
+ if (aMessageRow == null && (this.mailboxId != 0 && this.uid != 0))
+ {
+ aMessageRow = MessageRowPeer.retrieveByPK(this.mailboxId, this.uid);
+
+ /* The following can be used instead of the line above to
+ guarantee the related object contains a reference
+ to this object, but this level of coupling
+ may be undesirable in many circumstances.
+ As it can lead to a db query with many results that may
+ never be used.
+ MessageRow obj = MessageRowPeer.retrieveByPK(this.mailboxId, this.uid);
+ obj.add${pCollName}(this);
+ */
+ }
+ return aMessageRow;
+ }
+
+ /**
+ * Return the associated MessageRow object
+ * If it was not retrieved before, the object is retrieved from
+ * the database using the passed connection
+ *
+ * @param connection the connection used to retrieve the associated object
+ * from the database, if it was not retrieved before
+ * @return the associated MessageRow object
+ * @throws TorqueException
+ */
+ public MessageRow getMessageRow(Connection connection)
+ throws TorqueException
+ {
+ if (aMessageRow == null && (this.mailboxId != 0 && this.uid != 0))
+ {
+ aMessageRow = MessageRowPeer.retrieveByPK(this.mailboxId, this.uid, connection);
+
+ /* The following can be used instead of the line above to
+ guarantee the related object contains a reference
+ to this object, but this level of coupling
+ may be undesirable in many circumstances.
+ As it can lead to a db query with many results that may
+ never be used.
+ MessageRow obj = MessageRowPeer.retrieveByPK(this.mailboxId, this.uid, connection);
+ obj.add${pCollName}(this);
+ */
+ }
+ return aMessageRow;
+ }
+
+ /**
+ * Provides convenient way to set a relationship based on a
+ * ObjectKey, for example
+ * <code>bar.setFooKey(foo.getPrimaryKey())</code>
+ *
+ * Note: It is important that the xml schema used to create this class
+ * maintains consistency in the order of related columns between
+ * message_flags and message.
+ * If for some reason this is impossible, this method should be
+ * overridden in <code>MessageFlags</code>.
+ */
+ public void setMessageRowKey(ObjectKey key) throws TorqueException
+ {
+ SimpleKey[] keys = (SimpleKey[]) key.getValue();
+
+ setMailboxId(((NumberKey) keys[0]).longValue());
+
+ setUid(((NumberKey) keys[1]).longValue());
+ }
+
+
+ private static List fieldNames = null;
+
+ /**
+ * Generate a list of field names.
+ *
+ * @return a list of field names
+ */
+ public static synchronized List getFieldNames()
+ {
+ if (fieldNames == null)
+ {
+ fieldNames = new ArrayList();
+ fieldNames.add("MailboxId");
+ fieldNames.add("Uid");
+ fieldNames.add("Answered");
+ fieldNames.add("Deleted");
+ fieldNames.add("Draft");
+ fieldNames.add("Flagged");
+ fieldNames.add("Recent");
+ fieldNames.add("Seen");
+ fieldNames = Collections.unmodifiableList(fieldNames);
+ }
+ return fieldNames;
+ }
+
+ /**
+ * Retrieves a field from the object by name passed in as a String.
+ *
+ * @param name field name
+ * @return value
+ */
+ public Object getByName(String name)
+ {
+ if (name.equals("MailboxId"))
+ {
+ return new Long(getMailboxId());
+ }
+ if (name.equals("Uid"))
+ {
+ return new Long(getUid());
+ }
+ if (name.equals("Answered"))
+ {
+ return Boolean.valueOf(getAnswered());
+ }
+ if (name.equals("Deleted"))
+ {
+ return Boolean.valueOf(getDeleted());
+ }
+ if (name.equals("Draft"))
+ {
+ return Boolean.valueOf(getDraft());
+ }
+ if (name.equals("Flagged"))
+ {
+ return Boolean.valueOf(getFlagged());
+ }
+ if (name.equals("Recent"))
+ {
+ return Boolean.valueOf(getRecent());
+ }
+ if (name.equals("Seen"))
+ {
+ return Boolean.valueOf(getSeen());
+ }
+ return null;
+ }
+
+ /**
+ * Retrieves a field from the object by name passed in
+ * as a String. The String must be one of the static
+ * Strings defined in this Class' Peer.
+ *
+ * @param name peer name
+ * @return value
+ */
+ public Object getByPeerName(String name)
+ {
+ if (name.equals(MessageFlagsPeer.MAILBOX_ID))
+ {
+ return new Long(getMailboxId());
+ }
+ if (name.equals(MessageFlagsPeer.UID))
+ {
+ return new Long(getUid());
+ }
+ if (name.equals(MessageFlagsPeer.ANSWERED))
+ {
+ return Boolean.valueOf(getAnswered());
+ }
+ if (name.equals(MessageFlagsPeer.DELETED))
+ {
+ return Boolean.valueOf(getDeleted());
+ }
+ if (name.equals(MessageFlagsPeer.DRAFT))
+ {
+ return Boolean.valueOf(getDraft());
+ }
+ if (name.equals(MessageFlagsPeer.FLAGGED))
+ {
+ return Boolean.valueOf(getFlagged());
+ }
+ if (name.equals(MessageFlagsPeer.RECENT))
+ {
+ return Boolean.valueOf(getRecent());
+ }
+ if (name.equals(MessageFlagsPeer.SEEN))
+ {
+ return Boolean.valueOf(getSeen());
+ }
+ return null;
+ }
+
+ /**
+ * Retrieves a field from the object by Position as specified
+ * in the xml schema. Zero-based.
+ *
+ * @param pos position in xml schema
+ * @return value
+ */
+ public Object getByPosition(int pos)
+ {
+ if (pos == 0)
+ {
+ return new Long(getMailboxId());
+ }
+ if (pos == 1)
+ {
+ return new Long(getUid());
+ }
+ if (pos == 2)
+ {
+ return Boolean.valueOf(getAnswered());
+ }
+ if (pos == 3)
+ {
+ return Boolean.valueOf(getDeleted());
+ }
+ if (pos == 4)
+ {
+ return Boolean.valueOf(getDraft());
+ }
+ if (pos == 5)
+ {
+ return Boolean.valueOf(getFlagged());
+ }
+ if (pos == 6)
+ {
+ return Boolean.valueOf(getRecent());
+ }
+ if (pos == 7)
+ {
+ return Boolean.valueOf(getSeen());
+ }
+ return null;
+ }
+
+ /**
+ * Stores the object in the database. If the object is new,
+ * it inserts it; otherwise an update is performed.
+ *
+ * @throws Exception
+ */
+ public void save() throws Exception
+ {
+ save(MessageFlagsPeer.getMapBuilder()
+ .getDatabaseMap().getName());
+ }
+
+ /**
+ * Stores the object in the database. If the object is new,
+ * it inserts it; otherwise an update is performed.
+ * Note: this code is here because the method body is
+ * auto-generated conditionally and therefore needs to be
+ * in this file instead of in the super class, BaseObject.
+ *
+ * @param dbName
+ * @throws TorqueException
+ */
+ public void save(String dbName) throws TorqueException
+ {
+ Connection con = null;
+ try
+ {
+ con = Transaction.begin(dbName);
+ save(con);
+ Transaction.commit(con);
+ }
+ catch(TorqueException e)
+ {
+ Transaction.safeRollback(con);
+ throw e;
+ }
+ }
+
+ /** flag to prevent endless save loop, if this object is referenced
+ by another object which falls in this transaction. */
+ private boolean alreadyInSave = false;
+ /**
+ * Stores the object in the database. If the object is new,
+ * it inserts it; otherwise an update is performed. This method
+ * is meant to be used as part of a transaction, otherwise use
+ * the save() method and the connection details will be handled
+ * internally
+ *
+ * @param con
+ * @throws TorqueException
+ */
+ public void save(Connection con) throws TorqueException
+ {
+ if (!alreadyInSave)
+ {
+ alreadyInSave = true;
+
+
+
+ // If this object has been modified, then save it to the database.
+ if (isModified())
+ {
+ if (isNew())
+ {
+ MessageFlagsPeer.doInsert((MessageFlags) this, con);
+ setNew(false);
+ }
+ else
+ {
+ MessageFlagsPeer.doUpdate((MessageFlags) this, con);
+ }
+ }
+
+ alreadyInSave = false;
+ }
+ }
+
+
+
+ private final SimpleKey[] pks = new SimpleKey[2];
+ private final ComboKey comboPK = new ComboKey(pks);
+
+ /**
+ * Set the PrimaryKey with an ObjectKey
+ *
+ * @param key
+ */
+ public void setPrimaryKey(ObjectKey key) throws TorqueException
+ {
+ SimpleKey[] keys = (SimpleKey[]) key.getValue();
+ SimpleKey tmpKey = null;
+ setMailboxId(((NumberKey)keys[0]).longValue());
+ setUid(((NumberKey)keys[1]).longValue());
+ }
+
+ /**
+ * Set the PrimaryKey using SimpleKeys.
+ *
+ * @param mailboxId long
+ * @param uid long
+ */
+ public void setPrimaryKey( long mailboxId, long uid)
+ throws TorqueException
+ {
+ setMailboxId(mailboxId);
+ setUid(uid);
+ }
+
+ /**
+ * Set the PrimaryKey using a String.
+ */
+ public void setPrimaryKey(String key) throws TorqueException
+ {
+ setPrimaryKey(new ComboKey(key));
+ }
+
+ /**
+ * returns an id that differentiates this object from others
+ * of its class.
+ */
+ public ObjectKey getPrimaryKey()
+ {
+ pks[0] = SimpleKey.keyFor(getMailboxId());
+ pks[1] = SimpleKey.keyFor(getUid());
+ return comboPK;
+ }
+
+
+ /**
+ * Makes a copy of this object.
+ * It creates a new object filling in the simple attributes.
+ * It then fills all the association collections and sets the
+ * related objects to isNew=true.
+ */
+ public MessageFlags copy() throws TorqueException
+ {
+ return copyInto(new MessageFlags());
+ }
+
+ protected MessageFlags copyInto(MessageFlags copyObj) throws TorqueException
+ {
+ copyObj.setMailboxId(mailboxId);
+ copyObj.setUid(uid);
+ copyObj.setAnswered(answered);
+ copyObj.setDeleted(deleted);
+ copyObj.setDraft(draft);
+ copyObj.setFlagged(flagged);
+ copyObj.setRecent(recent);
+ copyObj.setSeen(seen);
+
+ copyObj.setMailboxId( 0);
+ copyObj.setUid( 0);
+
+ return copyObj;
+ }
+
+ /**
+ * returns a peer instance associated with this om. Since Peer classes
+ * are not to have any instance attributes, this method returns the
+ * same instance for all member of this class. The method could therefore
+ * be static, but this would prevent one from overriding the behavior.
+ */
+ public MessageFlagsPeer getPeer()
+ {
+ return peer;
+ }
+
+
+ public String toString()
+ {
+ StringBuffer str = new StringBuffer();
+ str.append("MessageFlags:\n");
+ str.append("MailboxId = ")
+ .append(getMailboxId())
+ .append("\n");
+ str.append("Uid = ")
+ .append(getUid())
+ .append("\n");
+ str.append("Answered = ")
+ .append(getAnswered())
+ .append("\n");
+ str.append("Deleted = ")
+ .append(getDeleted())
+ .append("\n");
+ str.append("Draft = ")
+ .append(getDraft())
+ .append("\n");
+ str.append("Flagged = ")
+ .append(getFlagged())
+ .append("\n");
+ str.append("Recent = ")
+ .append(getRecent())
+ .append("\n");
+ str.append("Seen = ")
+ .append(getSeen())
+ .append("\n");
+ return(str.toString());
+ }
+}
Added: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/BaseMessageFlagsPeer.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/BaseMessageFlagsPeer.java?view=auto&rev=454432
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/BaseMessageFlagsPeer.java (added)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/BaseMessageFlagsPeer.java Mon Oct 9 10:15:30 2006
@@ -0,0 +1,1050 @@
+package org.apache.james.mailboxmanager.torque.om;
+
+import java.math.BigDecimal;
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.apache.torque.NoRowsException;
+import org.apache.torque.TooManyRowsException;
+import org.apache.torque.Torque;
+import org.apache.torque.TorqueException;
+import org.apache.torque.map.MapBuilder;
+import org.apache.torque.map.TableMap;
+import org.apache.torque.om.DateKey;
+import org.apache.torque.om.NumberKey;
+import org.apache.torque.om.StringKey;
+import org.apache.torque.om.ObjectKey;
+import org.apache.torque.om.SimpleKey;
+import org.apache.torque.util.BasePeer;
+import org.apache.torque.util.Criteria;
+
+import com.workingdogs.village.DataSetException;
+import com.workingdogs.village.QueryDataSet;
+import com.workingdogs.village.Record;
+
+// Local classes
+import org.apache.james.mailboxmanager.torque.om.map.*;
+
+
+
+/**
+ * This class was autogenerated by Torque on:
+ *
+ * [Tue Sep 19 10:06:28 CEST 2006]
+ *
+ */
+public abstract class BaseMessageFlagsPeer
+ extends BasePeer
+{
+
+ /** the default database name for this class */
+ public static final String DATABASE_NAME = "mailboxmanager";
+
+ /** the table name for this class */
+ public static final String TABLE_NAME = "message_flags";
+
+ /**
+ * @return the map builder for this peer
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static MapBuilder getMapBuilder()
+ throws TorqueException
+ {
+ return getMapBuilder(MessageFlagsMapBuilder.CLASS_NAME);
+ }
+
+ /** the column name for the MAILBOX_ID field */
+ public static final String MAILBOX_ID;
+ /** the column name for the UID field */
+ public static final String UID;
+ /** the column name for the ANSWERED field */
+ public static final String ANSWERED;
+ /** the column name for the DELETED field */
+ public static final String DELETED;
+ /** the column name for the DRAFT field */
+ public static final String DRAFT;
+ /** the column name for the FLAGGED field */
+ public static final String FLAGGED;
+ /** the column name for the RECENT field */
+ public static final String RECENT;
+ /** the column name for the SEEN field */
+ public static final String SEEN;
+
+ static
+ {
+ MAILBOX_ID = "message_flags.MAILBOX_ID";
+ UID = "message_flags.UID";
+ ANSWERED = "message_flags.ANSWERED";
+ DELETED = "message_flags.DELETED";
+ DRAFT = "message_flags.DRAFT";
+ FLAGGED = "message_flags.FLAGGED";
+ RECENT = "message_flags.RECENT";
+ SEEN = "message_flags.SEEN";
+ if (Torque.isInit())
+ {
+ try
+ {
+ getMapBuilder(MessageFlagsMapBuilder.CLASS_NAME);
+ }
+ catch (Exception e)
+ {
+ log.error("Could not initialize Peer", e);
+ throw new RuntimeException(e);
+ }
+ }
+ else
+ {
+ Torque.registerMapBuilder(MessageFlagsMapBuilder.CLASS_NAME);
+ }
+ }
+
+ /** number of columns for this peer */
+ public static final int numColumns = 8;
+
+ /** A class that can be returned by this peer. */
+ protected static final String CLASSNAME_DEFAULT =
+ "org.apache.james.mailboxmanager.torque.om.MessageFlags";
+
+ /** A class that can be returned by this peer. */
+ protected static final Class CLASS_DEFAULT = initClass(CLASSNAME_DEFAULT);
+
+ /**
+ * Class object initialization method.
+ *
+ * @param className name of the class to initialize
+ * @return the initialized class
+ */
+ private static Class initClass(String className)
+ {
+ Class c = null;
+ try
+ {
+ c = Class.forName(className);
+ }
+ catch (Throwable t)
+ {
+ log.error("A FATAL ERROR has occurred which should not "
+ + "have happened under any circumstance. Please notify "
+ + "the Torque developers <to...@db.apache.org> "
+ + "and give as many details as possible (including the error "
+ + "stack trace).", t);
+
+ // Error objects should always be propogated.
+ if (t instanceof Error)
+ {
+ throw (Error) t.fillInStackTrace();
+ }
+ }
+ return c;
+ }
+
+ /**
+ * Get the list of objects for a ResultSet. Please not that your
+ * resultset MUST return columns in the right order. You can use
+ * getFieldNames() in BaseObject to get the correct sequence.
+ *
+ * @param results the ResultSet
+ * @return the list of objects
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static List resultSet2Objects(java.sql.ResultSet results)
+ throws TorqueException
+ {
+ try
+ {
+ QueryDataSet qds = null;
+ List rows = null;
+ try
+ {
+ qds = new QueryDataSet(results);
+ rows = getSelectResults(qds);
+ }
+ finally
+ {
+ if (qds != null)
+ {
+ qds.close();
+ }
+ }
+
+ return populateObjects(rows);
+ }
+ catch (SQLException e)
+ {
+ throw new TorqueException(e);
+ }
+ catch (DataSetException e)
+ {
+ throw new TorqueException(e);
+ }
+ }
+
+
+
+ /**
+ * Method to do inserts.
+ *
+ * @param criteria object used to create the INSERT statement.
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static ObjectKey doInsert(Criteria criteria)
+ throws TorqueException
+ {
+ return BaseMessageFlagsPeer
+ .doInsert(criteria, (Connection) null);
+ }
+
+ /**
+ * Method to do inserts. This method is to be used during a transaction,
+ * otherwise use the doInsert(Criteria) method. It will take care of
+ * the connection details internally.
+ *
+ * @param criteria object used to create the INSERT statement.
+ * @param con the connection to use
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static ObjectKey doInsert(Criteria criteria, Connection con)
+ throws TorqueException
+ {
+ correctBooleans(criteria);
+
+ setDbName(criteria);
+
+ if (con == null)
+ {
+ return BasePeer.doInsert(criteria);
+ }
+ else
+ {
+ return BasePeer.doInsert(criteria, con);
+ }
+ }
+
+ /**
+ * Add all the columns needed to create a new object.
+ *
+ * @param criteria object containing the columns to add.
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static void addSelectColumns(Criteria criteria)
+ throws TorqueException
+ {
+ criteria.addSelectColumn(MAILBOX_ID);
+ criteria.addSelectColumn(UID);
+ criteria.addSelectColumn(ANSWERED);
+ criteria.addSelectColumn(DELETED);
+ criteria.addSelectColumn(DRAFT);
+ criteria.addSelectColumn(FLAGGED);
+ criteria.addSelectColumn(RECENT);
+ criteria.addSelectColumn(SEEN);
+ }
+
+ /**
+ * changes the boolean values in the criteria to the appropriate type,
+ * whenever a booleanchar or booleanint column is involved.
+ * This enables the user to create criteria using Boolean values
+ * for booleanchar or booleanint columns
+ * @param criteria the criteria in which the boolean values should be corrected
+ */
+ public static void correctBooleans(Criteria criteria)
+ {
+ // check for conversion from boolean to int
+ if (criteria.containsKey(ANSWERED))
+ {
+ Object possibleBoolean = criteria.get(ANSWERED);
+ if (possibleBoolean instanceof Boolean)
+ {
+ criteria.add(ANSWERED, ((Boolean) possibleBoolean).booleanValue() ? 1 : 0);
+ }
+ }
+ // check for conversion from boolean to int
+ if (criteria.containsKey(DELETED))
+ {
+ Object possibleBoolean = criteria.get(DELETED);
+ if (possibleBoolean instanceof Boolean)
+ {
+ criteria.add(DELETED, ((Boolean) possibleBoolean).booleanValue() ? 1 : 0);
+ }
+ }
+ // check for conversion from boolean to int
+ if (criteria.containsKey(DRAFT))
+ {
+ Object possibleBoolean = criteria.get(DRAFT);
+ if (possibleBoolean instanceof Boolean)
+ {
+ criteria.add(DRAFT, ((Boolean) possibleBoolean).booleanValue() ? 1 : 0);
+ }
+ }
+ // check for conversion from boolean to int
+ if (criteria.containsKey(FLAGGED))
+ {
+ Object possibleBoolean = criteria.get(FLAGGED);
+ if (possibleBoolean instanceof Boolean)
+ {
+ criteria.add(FLAGGED, ((Boolean) possibleBoolean).booleanValue() ? 1 : 0);
+ }
+ }
+ // check for conversion from boolean to int
+ if (criteria.containsKey(RECENT))
+ {
+ Object possibleBoolean = criteria.get(RECENT);
+ if (possibleBoolean instanceof Boolean)
+ {
+ criteria.add(RECENT, ((Boolean) possibleBoolean).booleanValue() ? 1 : 0);
+ }
+ }
+ // check for conversion from boolean to int
+ if (criteria.containsKey(SEEN))
+ {
+ Object possibleBoolean = criteria.get(SEEN);
+ if (possibleBoolean instanceof Boolean)
+ {
+ criteria.add(SEEN, ((Boolean) possibleBoolean).booleanValue() ? 1 : 0);
+ }
+ }
+ }
+
+ /**
+ * Create a new object of type cls from a resultset row starting
+ * from a specified offset. This is done so that you can select
+ * other rows than just those needed for this object. You may
+ * for example want to create two objects from the same row.
+ *
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static MessageFlags row2Object(Record row,
+ int offset,
+ Class cls)
+ throws TorqueException
+ {
+ try
+ {
+ MessageFlags obj = (MessageFlags) cls.newInstance();
+ MessageFlagsPeer.populateObject(row, offset, obj);
+ obj.setModified(false);
+ obj.setNew(false);
+
+ return obj;
+ }
+ catch (InstantiationException e)
+ {
+ throw new TorqueException(e);
+ }
+ catch (IllegalAccessException e)
+ {
+ throw new TorqueException(e);
+ }
+ }
+
+ /**
+ * Populates an object from a resultset row starting
+ * from a specified offset. This is done so that you can select
+ * other rows than just those needed for this object. You may
+ * for example want to create two objects from the same row.
+ *
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static void populateObject(Record row,
+ int offset,
+ MessageFlags obj)
+ throws TorqueException
+ {
+ try
+ {
+ obj.setMailboxId(row.getValue(offset + 0).asLong());
+ obj.setUid(row.getValue(offset + 1).asLong());
+ obj.setAnswered(row.getValue(offset + 2).asBoolean());
+ obj.setDeleted(row.getValue(offset + 3).asBoolean());
+ obj.setDraft(row.getValue(offset + 4).asBoolean());
+ obj.setFlagged(row.getValue(offset + 5).asBoolean());
+ obj.setRecent(row.getValue(offset + 6).asBoolean());
+ obj.setSeen(row.getValue(offset + 7).asBoolean());
+ }
+ catch (DataSetException e)
+ {
+ throw new TorqueException(e);
+ }
+ }
+
+ /**
+ * Method to do selects.
+ *
+ * @param criteria object used to create the SELECT statement.
+ * @return List of selected Objects
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static List doSelect(Criteria criteria) throws TorqueException
+ {
+ return populateObjects(doSelectVillageRecords(criteria));
+ }
+
+ /**
+ * Method to do selects within a transaction.
+ *
+ * @param criteria object used to create the SELECT statement.
+ * @param con the connection to use
+ * @return List of selected Objects
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static List doSelect(Criteria criteria, Connection con)
+ throws TorqueException
+ {
+ return populateObjects(doSelectVillageRecords(criteria, con));
+ }
+
+ /**
+ * Grabs the raw Village records to be formed into objects.
+ * This method handles connections internally. The Record objects
+ * returned by this method should be considered readonly. Do not
+ * alter the data and call save(), your results may vary, but are
+ * certainly likely to result in hard to track MT bugs.
+ *
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static List doSelectVillageRecords(Criteria criteria)
+ throws TorqueException
+ {
+ return BaseMessageFlagsPeer
+ .doSelectVillageRecords(criteria, (Connection) null);
+ }
+
+ /**
+ * Grabs the raw Village records to be formed into objects.
+ * This method should be used for transactions
+ *
+ * @param criteria object used to create the SELECT statement.
+ * @param con the connection to use
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static List doSelectVillageRecords(Criteria criteria, Connection con)
+ throws TorqueException
+ {
+ if (criteria.getSelectColumns().size() == 0)
+ {
+ addSelectColumns(criteria);
+ }
+ correctBooleans(criteria);
+
+ setDbName(criteria);
+
+ // BasePeer returns a List of Value (Village) arrays. The array
+ // order follows the order columns were placed in the Select clause.
+ if (con == null)
+ {
+ return BasePeer.doSelect(criteria);
+ }
+ else
+ {
+ return BasePeer.doSelect(criteria, con);
+ }
+ }
+
+ /**
+ * The returned List will contain objects of the default type or
+ * objects that inherit from the default.
+ *
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static List populateObjects(List records)
+ throws TorqueException
+ {
+ List results = new ArrayList(records.size());
+
+ // populate the object(s)
+ for (int i = 0; i < records.size(); i++)
+ {
+ Record row = (Record) records.get(i);
+ results.add(MessageFlagsPeer.row2Object(row, 1,
+ MessageFlagsPeer.getOMClass()));
+ }
+ return results;
+ }
+
+
+ /**
+ * The class that the Peer will make instances of.
+ * If the BO is abstract then you must implement this method
+ * in the BO.
+ *
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static Class getOMClass()
+ throws TorqueException
+ {
+ return CLASS_DEFAULT;
+ }
+
+ /**
+ * Method to do updates.
+ *
+ * @param criteria object containing data that is used to create the UPDATE
+ * statement.
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static void doUpdate(Criteria criteria) throws TorqueException
+ {
+ BaseMessageFlagsPeer
+ .doUpdate(criteria, (Connection) null);
+ }
+
+ /**
+ * Method to do updates. This method is to be used during a transaction,
+ * otherwise use the doUpdate(Criteria) method. It will take care of
+ * the connection details internally.
+ *
+ * @param criteria object containing data that is used to create the UPDATE
+ * statement.
+ * @param con the connection to use
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static void doUpdate(Criteria criteria, Connection con)
+ throws TorqueException
+ {
+ Criteria selectCriteria = new Criteria(DATABASE_NAME, 2);
+ correctBooleans(criteria);
+
+
+ selectCriteria.put(MAILBOX_ID, criteria.remove(MAILBOX_ID));
+
+ selectCriteria.put(UID, criteria.remove(UID));
+
+
+
+
+
+
+
+ setDbName(criteria);
+
+ if (con == null)
+ {
+ BasePeer.doUpdate(selectCriteria, criteria);
+ }
+ else
+ {
+ BasePeer.doUpdate(selectCriteria, criteria, con);
+ }
+ }
+
+ /**
+ * Method to do deletes.
+ *
+ * @param criteria object containing data that is used DELETE from database.
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static void doDelete(Criteria criteria) throws TorqueException
+ {
+ MessageFlagsPeer
+ .doDelete(criteria, (Connection) null);
+ }
+
+ /**
+ * Method to do deletes. This method is to be used during a transaction,
+ * otherwise use the doDelete(Criteria) method. It will take care of
+ * the connection details internally.
+ *
+ * @param criteria object containing data that is used DELETE from database.
+ * @param con the connection to use
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static void doDelete(Criteria criteria, Connection con)
+ throws TorqueException
+ {
+ correctBooleans(criteria);
+
+ setDbName(criteria);
+
+ if (con == null)
+ {
+ BasePeer.doDelete(criteria);
+ }
+ else
+ {
+ BasePeer.doDelete(criteria, con);
+ }
+ }
+
+ /**
+ * Method to do selects
+ *
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static List doSelect(MessageFlags obj) throws TorqueException
+ {
+ return doSelect(buildSelectCriteria(obj));
+ }
+
+ /**
+ * Method to do inserts
+ *
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static void doInsert(MessageFlags obj) throws TorqueException
+ {
+ doInsert(buildCriteria(obj));
+ obj.setNew(false);
+ obj.setModified(false);
+ }
+
+ /**
+ * @param obj the data object to update in the database.
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static void doUpdate(MessageFlags obj) throws TorqueException
+ {
+ doUpdate(buildCriteria(obj));
+ obj.setModified(false);
+ }
+
+ /**
+ * @param obj the data object to delete in the database.
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static void doDelete(MessageFlags obj) throws TorqueException
+ {
+ doDelete(buildSelectCriteria(obj));
+ }
+
+ /**
+ * Method to do inserts. This method is to be used during a transaction,
+ * otherwise use the doInsert(MessageFlags) method. It will take
+ * care of the connection details internally.
+ *
+ * @param obj the data object to insert into the database.
+ * @param con the connection to use
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static void doInsert(MessageFlags obj, Connection con)
+ throws TorqueException
+ {
+ doInsert(buildCriteria(obj), con);
+ obj.setNew(false);
+ obj.setModified(false);
+ }
+
+ /**
+ * Method to do update. This method is to be used during a transaction,
+ * otherwise use the doUpdate(MessageFlags) method. It will take
+ * care of the connection details internally.
+ *
+ * @param obj the data object to update in the database.
+ * @param con the connection to use
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static void doUpdate(MessageFlags obj, Connection con)
+ throws TorqueException
+ {
+ doUpdate(buildCriteria(obj), con);
+ obj.setModified(false);
+ }
+
+ /**
+ * Method to delete. This method is to be used during a transaction,
+ * otherwise use the doDelete(MessageFlags) method. It will take
+ * care of the connection details internally.
+ *
+ * @param obj the data object to delete in the database.
+ * @param con the connection to use
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static void doDelete(MessageFlags obj, Connection con)
+ throws TorqueException
+ {
+ doDelete(buildSelectCriteria(obj), con);
+ }
+
+ /**
+ * Method to do deletes.
+ *
+ * @param pk ObjectKey that is used DELETE from database.
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static void doDelete(ObjectKey pk) throws TorqueException
+ {
+ BaseMessageFlagsPeer
+ .doDelete(pk, (Connection) null);
+ }
+
+ /**
+ * Method to delete. This method is to be used during a transaction,
+ * otherwise use the doDelete(ObjectKey) method. It will take
+ * care of the connection details internally.
+ *
+ * @param pk the primary key for the object to delete in the database.
+ * @param con the connection to use
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static void doDelete(ObjectKey pk, Connection con)
+ throws TorqueException
+ {
+ doDelete(buildCriteria(pk), con);
+ }
+
+ /** Build a Criteria object from an ObjectKey */
+ public static Criteria buildCriteria( ObjectKey pk )
+ {
+ Criteria criteria = new Criteria();
+ SimpleKey[] keys = (SimpleKey[])pk.getValue();
+ criteria.add(MAILBOX_ID, keys[0]);
+ criteria.add(UID, keys[1]);
+ return criteria;
+ }
+
+ /** Build a Criteria object from the data object for this peer */
+ public static Criteria buildCriteria( MessageFlags obj )
+ {
+ Criteria criteria = new Criteria(DATABASE_NAME);
+ criteria.add(MAILBOX_ID, obj.getMailboxId());
+ criteria.add(UID, obj.getUid());
+ criteria.add(ANSWERED, obj.getAnswered());
+ criteria.add(DELETED, obj.getDeleted());
+ criteria.add(DRAFT, obj.getDraft());
+ criteria.add(FLAGGED, obj.getFlagged());
+ criteria.add(RECENT, obj.getRecent());
+ criteria.add(SEEN, obj.getSeen());
+ return criteria;
+ }
+
+ /** Build a Criteria object from the data object for this peer, skipping all binary columns */
+ public static Criteria buildSelectCriteria( MessageFlags obj )
+ {
+ Criteria criteria = new Criteria(DATABASE_NAME);
+ criteria.add(MAILBOX_ID, obj.getMailboxId());
+ criteria.add(UID, obj.getUid());
+ criteria.add(ANSWERED, obj.getAnswered());
+ criteria.add(DELETED, obj.getDeleted());
+ criteria.add(DRAFT, obj.getDraft());
+ criteria.add(FLAGGED, obj.getFlagged());
+ criteria.add(RECENT, obj.getRecent());
+ criteria.add(SEEN, obj.getSeen());
+ return criteria;
+ }
+
+
+
+ /**
+ * Retrieve a single object by pk
+ *
+ * @param pk the primary key
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ * @throws NoRowsException Primary key was not found in database.
+ * @throws TooManyRowsException Primary key was not found in database.
+ */
+ public static MessageFlags retrieveByPK(ObjectKey pk)
+ throws TorqueException, NoRowsException, TooManyRowsException
+ {
+ Connection db = null;
+ MessageFlags retVal = null;
+ try
+ {
+ db = Torque.getConnection(DATABASE_NAME);
+ retVal = retrieveByPK(pk, db);
+ }
+ finally
+ {
+ Torque.closeConnection(db);
+ }
+ return retVal;
+ }
+
+ /**
+ * Retrieve a single object by pk
+ *
+ * @param pk the primary key
+ * @param con the connection to use
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ * @throws NoRowsException Primary key was not found in database.
+ * @throws TooManyRowsException Primary key was not found in database.
+ */
+ public static MessageFlags retrieveByPK(ObjectKey pk, Connection con)
+ throws TorqueException, NoRowsException, TooManyRowsException
+ {
+ Criteria criteria = buildCriteria(pk);
+ List v = doSelect(criteria, con);
+ if (v.size() == 0)
+ {
+ throw new NoRowsException("Failed to select a row.");
+ }
+ else if (v.size() > 1)
+ {
+ throw new TooManyRowsException("Failed to select only one row.");
+ }
+ else
+ {
+ return (MessageFlags)v.get(0);
+ }
+ }
+
+ /**
+ * Retrieve a multiple objects by pk
+ *
+ * @param pks List of primary keys
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static List retrieveByPKs(List pks)
+ throws TorqueException
+ {
+ Connection db = null;
+ List retVal = null;
+ try
+ {
+ db = Torque.getConnection(DATABASE_NAME);
+ retVal = retrieveByPKs(pks, db);
+ }
+ finally
+ {
+ Torque.closeConnection(db);
+ }
+ return retVal;
+ }
+
+ /**
+ * Retrieve a multiple objects by pk
+ *
+ * @param pks List of primary keys
+ * @param dbcon the connection to use
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ public static List retrieveByPKs( List pks, Connection dbcon )
+ throws TorqueException
+ {
+ List objs = null;
+ if (pks == null || pks.size() == 0)
+ {
+ objs = new LinkedList();
+ }
+ else
+ {
+ Criteria criteria = new Criteria();
+ Iterator iter = pks.iterator();
+ while (iter.hasNext())
+ {
+ ObjectKey pk = (ObjectKey)iter.next();
+ SimpleKey[] keys = (SimpleKey[])pk.getValue();
+ Criteria.Criterion c0 = criteria.getNewCriterion(
+ MAILBOX_ID, keys[0], Criteria.EQUAL);
+ Criteria.Criterion c1 = criteria.getNewCriterion(
+ UID, keys[1], Criteria.EQUAL);
+ c0.and(c1);
+ criteria.or(c0);
+ }
+ objs = doSelect(criteria, dbcon);
+ }
+ return objs;
+ }
+
+
+ /**
+ * retrieve object using using pk values.
+ *
+ * @param mailbox_id long
+ * @param uid long
+ */
+ public static MessageFlags retrieveByPK(
+ long mailbox_id
+ , long uid
+ ) throws TorqueException
+ {
+ Connection db = null;
+ MessageFlags retVal = null;
+ try
+ {
+ db = Torque.getConnection(DATABASE_NAME);
+ retVal = retrieveByPK(
+ mailbox_id
+ , uid
+ , db);
+ }
+ finally
+ {
+ Torque.closeConnection(db);
+ }
+ return retVal;
+ }
+
+ /**
+ * retrieve object using using pk values.
+ *
+ * @param mailbox_id long
+ * @param uid long
+ * @param con Connection
+ */
+ public static MessageFlags retrieveByPK(
+ long mailbox_id
+ , long uid
+ ,Connection con) throws TorqueException
+ {
+
+ Criteria criteria = new Criteria(5);
+ criteria.add(MAILBOX_ID, mailbox_id);
+ criteria.add(UID, uid);
+ List v = doSelect(criteria, con);
+ if (v.size() == 1)
+ {
+ return (MessageFlags) v.get(0);
+ }
+ else
+ {
+ throw new TorqueException("Failed to select one and only one row.");
+ }
+ }
+
+
+
+
+
+
+
+
+ /**
+ * selects a collection of MessageFlags objects pre-filled with their
+ * MessageRow objects.
+ *
+ * This method is protected by default in order to keep the public
+ * api reasonable. You can provide public methods for those you
+ * actually need in MessageFlagsPeer.
+ *
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ protected static List doSelectJoinMessageRow(Criteria criteria)
+ throws TorqueException
+ {
+ return doSelectJoinMessageRow(criteria, null);
+ }
+
+ /**
+ * selects a collection of MessageFlags objects pre-filled with their
+ * MessageRow objects.
+ *
+ * This method is protected by default in order to keep the public
+ * api reasonable. You can provide public methods for those you
+ * actually need in MessageFlagsPeer.
+ *
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ protected static List doSelectJoinMessageRow(Criteria criteria, Connection conn)
+ throws TorqueException
+ {
+ setDbName(criteria);
+
+ MessageFlagsPeer.addSelectColumns(criteria);
+ int offset = numColumns + 1;
+ MessageRowPeer.addSelectColumns(criteria);
+
+
+ criteria.addJoin(MessageFlagsPeer.MAILBOX_ID,
+ MessageRowPeer.MAILBOX_ID);
+ criteria.addJoin(MessageFlagsPeer.UID,
+ MessageRowPeer.UID);
+
+ correctBooleans(criteria);
+
+ List rows;
+ if (conn == null)
+ {
+ rows = BasePeer.doSelect(criteria);
+ }
+ else
+ {
+ rows = BasePeer.doSelect(criteria,conn);
+ }
+
+ List results = new ArrayList();
+
+ for (int i = 0; i < rows.size(); i++)
+ {
+ Record row = (Record) rows.get(i);
+
+ Class omClass = MessageFlagsPeer.getOMClass();
+ MessageFlags obj1 = (MessageFlags) MessageFlagsPeer
+ .row2Object(row, 1, omClass);
+ omClass = MessageRowPeer.getOMClass();
+ MessageRow obj2 = (MessageRow)MessageRowPeer
+ .row2Object(row, offset, omClass);
+
+ boolean newObject = true;
+ for (int j = 0; j < results.size(); j++)
+ {
+ MessageFlags temp_obj1 = (MessageFlags)results.get(j);
+ MessageRow temp_obj2 = (MessageRow)temp_obj1.getMessageRow();
+ if (temp_obj2.getPrimaryKey().equals(obj2.getPrimaryKey()))
+ {
+ newObject = false;
+ temp_obj2.addMessageFlags(obj1);
+ break;
+ }
+ }
+ if (newObject)
+ {
+ obj2.initMessageFlagss();
+ obj2.addMessageFlags(obj1);
+ }
+ results.add(obj1);
+ }
+ return results;
+ }
+
+
+
+
+ /**
+ * Returns the TableMap related to this peer. This method is not
+ * needed for general use but a specific application could have a need.
+ *
+ * @throws TorqueException Any exceptions caught during processing will be
+ * rethrown wrapped into a TorqueException.
+ */
+ protected static TableMap getTableMap()
+ throws TorqueException
+ {
+ return Torque.getDatabaseMap(DATABASE_NAME).getTable(TABLE_NAME);
+ }
+
+ private static void setDbName(Criteria crit)
+ {
+ // Set the correct dbName if it has not been overridden
+ // crit.getDbName will return the same object if not set to
+ // another value so == check is okay and faster
+ if (crit.getDbName() == Torque.getDefaultDB())
+ {
+ crit.setDbName(DATABASE_NAME);
+ }
+ }
+}
Added: james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/BaseMessageHeader.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/BaseMessageHeader.java?view=auto&rev=454432
==============================================================================
--- james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/BaseMessageHeader.java (added)
+++ james/server/sandbox/imap-integration/src/java/org/apache/james/mailboxmanager/torque/om/BaseMessageHeader.java Mon Oct 9 10:15:30 2006
@@ -0,0 +1,631 @@
+package org.apache.james.mailboxmanager.torque.om;
+
+
+import java.math.BigDecimal;
+import java.sql.Connection;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+
+import org.apache.commons.lang.ObjectUtils;
+import org.apache.torque.TorqueException;
+import org.apache.torque.om.BaseObject;
+import org.apache.torque.om.ComboKey;
+import org.apache.torque.om.DateKey;
+import org.apache.torque.om.NumberKey;
+import org.apache.torque.om.ObjectKey;
+import org.apache.torque.om.SimpleKey;
+import org.apache.torque.om.StringKey;
+import org.apache.torque.om.Persistent;
+import org.apache.torque.util.Criteria;
+import org.apache.torque.util.Transaction;
+
+
+
+
+
+/**
+ * This class was autogenerated by Torque on:
+ *
+ * [Tue Sep 19 10:06:28 CEST 2006]
+ *
+ * You should not use this class directly. It should not even be
+ * extended all references should be to MessageHeader
+ */
+public abstract class BaseMessageHeader extends BaseObject
+{
+ /** The Peer class */
+ private static final MessageHeaderPeer peer =
+ new MessageHeaderPeer();
+
+
+ /** The value for the mailboxId field */
+ private long mailboxId;
+
+ /** The value for the uid field */
+ private long uid;
+
+ /** The value for the lineNumber field */
+ private int lineNumber;
+
+ /** The value for the field field */
+ private String field;
+
+ /** The value for the value field */
+ private String value;
+
+
+ /**
+ * Get the MailboxId
+ *
+ * @return long
+ */
+ public long getMailboxId()
+ {
+ return mailboxId;
+ }
+
+
+ /**
+ * Set the value of MailboxId
+ *
+ * @param v new value
+ */
+ public void setMailboxId(long v) throws TorqueException
+ {
+
+ if (this.mailboxId != v)
+ {
+ this.mailboxId = v;
+ setModified(true);
+ }
+
+
+ if (aMessageRow != null && !(aMessageRow.getMailboxId() == v))
+ {
+ aMessageRow = null;
+ }
+
+ }
+
+ /**
+ * Get the Uid
+ *
+ * @return long
+ */
+ public long getUid()
+ {
+ return uid;
+ }
+
+
+ /**
+ * Set the value of Uid
+ *
+ * @param v new value
+ */
+ public void setUid(long v) throws TorqueException
+ {
+
+ if (this.uid != v)
+ {
+ this.uid = v;
+ setModified(true);
+ }
+
+
+ if (aMessageRow != null && !(aMessageRow.getUid() == v))
+ {
+ aMessageRow = null;
+ }
+
+ }
+
+ /**
+ * Get the LineNumber
+ *
+ * @return int
+ */
+ public int getLineNumber()
+ {
+ return lineNumber;
+ }
+
+
+ /**
+ * Set the value of LineNumber
+ *
+ * @param v new value
+ */
+ public void setLineNumber(int v)
+ {
+
+ if (this.lineNumber != v)
+ {
+ this.lineNumber = v;
+ setModified(true);
+ }
+
+
+ }
+
+ /**
+ * Get the Field
+ *
+ * @return String
+ */
+ public String getField()
+ {
+ return field;
+ }
+
+
+ /**
+ * Set the value of Field
+ *
+ * @param v new value
+ */
+ public void setField(String v)
+ {
+
+ if (!ObjectUtils.equals(this.field, v))
+ {
+ this.field = v;
+ setModified(true);
+ }
+
+
+ }
+
+ /**
+ * Get the Value
+ *
+ * @return String
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+
+ /**
+ * Set the value of Value
+ *
+ * @param v new value
+ */
+ public void setValue(String v)
+ {
+
+ if (!ObjectUtils.equals(this.value, v))
+ {
+ this.value = v;
+ setModified(true);
+ }
+
+
+ }
+
+
+
+
+
+ private MessageRow aMessageRow;
+
+ /**
+ * Declares an association between this object and a MessageRow object
+ *
+ * @param v MessageRow
+ * @throws TorqueException
+ */
+ public void setMessageRow(MessageRow v) throws TorqueException
+ {
+ if (v == null)
+ {
+ setMailboxId( 0);
+ }
+ else
+ {
+ setMailboxId(v.getMailboxId());
+ }
+ if (v == null)
+ {
+ setUid( 0);
+ }
+ else
+ {
+ setUid(v.getUid());
+ }
+ aMessageRow = v;
+ }
+
+
+ /**
+ * Returns the associated MessageRow object.
+ * If it was not retrieved before, the object is retrieved from
+ * the database
+ *
+ * @return the associated MessageRow object
+ * @throws TorqueException
+ */
+ public MessageRow getMessageRow()
+ throws TorqueException
+ {
+ if (aMessageRow == null && (this.mailboxId != 0 && this.uid != 0))
+ {
+ aMessageRow = MessageRowPeer.retrieveByPK(this.mailboxId, this.uid);
+
+ /* The following can be used instead of the line above to
+ guarantee the related object contains a reference
+ to this object, but this level of coupling
+ may be undesirable in many circumstances.
+ As it can lead to a db query with many results that may
+ never be used.
+ MessageRow obj = MessageRowPeer.retrieveByPK(this.mailboxId, this.uid);
+ obj.add${pCollName}(this);
+ */
+ }
+ return aMessageRow;
+ }
+
+ /**
+ * Return the associated MessageRow object
+ * If it was not retrieved before, the object is retrieved from
+ * the database using the passed connection
+ *
+ * @param connection the connection used to retrieve the associated object
+ * from the database, if it was not retrieved before
+ * @return the associated MessageRow object
+ * @throws TorqueException
+ */
+ public MessageRow getMessageRow(Connection connection)
+ throws TorqueException
+ {
+ if (aMessageRow == null && (this.mailboxId != 0 && this.uid != 0))
+ {
+ aMessageRow = MessageRowPeer.retrieveByPK(this.mailboxId, this.uid, connection);
+
+ /* The following can be used instead of the line above to
+ guarantee the related object contains a reference
+ to this object, but this level of coupling
+ may be undesirable in many circumstances.
+ As it can lead to a db query with many results that may
+ never be used.
+ MessageRow obj = MessageRowPeer.retrieveByPK(this.mailboxId, this.uid, connection);
+ obj.add${pCollName}(this);
+ */
+ }
+ return aMessageRow;
+ }
+
+ /**
+ * Provides convenient way to set a relationship based on a
+ * ObjectKey, for example
+ * <code>bar.setFooKey(foo.getPrimaryKey())</code>
+ *
+ * Note: It is important that the xml schema used to create this class
+ * maintains consistency in the order of related columns between
+ * message_header and message.
+ * If for some reason this is impossible, this method should be
+ * overridden in <code>MessageHeader</code>.
+ */
+ public void setMessageRowKey(ObjectKey key) throws TorqueException
+ {
+ SimpleKey[] keys = (SimpleKey[]) key.getValue();
+
+ setMailboxId(((NumberKey) keys[0]).longValue());
+
+ setUid(((NumberKey) keys[1]).longValue());
+ }
+
+
+ private static List fieldNames = null;
+
+ /**
+ * Generate a list of field names.
+ *
+ * @return a list of field names
+ */
+ public static synchronized List getFieldNames()
+ {
+ if (fieldNames == null)
+ {
+ fieldNames = new ArrayList();
+ fieldNames.add("MailboxId");
+ fieldNames.add("Uid");
+ fieldNames.add("LineNumber");
+ fieldNames.add("Field");
+ fieldNames.add("Value");
+ fieldNames = Collections.unmodifiableList(fieldNames);
+ }
+ return fieldNames;
+ }
+
+ /**
+ * Retrieves a field from the object by name passed in as a String.
+ *
+ * @param name field name
+ * @return value
+ */
+ public Object getByName(String name)
+ {
+ if (name.equals("MailboxId"))
+ {
+ return new Long(getMailboxId());
+ }
+ if (name.equals("Uid"))
+ {
+ return new Long(getUid());
+ }
+ if (name.equals("LineNumber"))
+ {
+ return new Integer(getLineNumber());
+ }
+ if (name.equals("Field"))
+ {
+ return getField();
+ }
+ if (name.equals("Value"))
+ {
+ return getValue();
+ }
+ return null;
+ }
+
+ /**
+ * Retrieves a field from the object by name passed in
+ * as a String. The String must be one of the static
+ * Strings defined in this Class' Peer.
+ *
+ * @param name peer name
+ * @return value
+ */
+ public Object getByPeerName(String name)
+ {
+ if (name.equals(MessageHeaderPeer.MAILBOX_ID))
+ {
+ return new Long(getMailboxId());
+ }
+ if (name.equals(MessageHeaderPeer.UID))
+ {
+ return new Long(getUid());
+ }
+ if (name.equals(MessageHeaderPeer.LINE_NUMBER))
+ {
+ return new Integer(getLineNumber());
+ }
+ if (name.equals(MessageHeaderPeer.FIELD))
+ {
+ return getField();
+ }
+ if (name.equals(MessageHeaderPeer.VALUE))
+ {
+ return getValue();
+ }
+ return null;
+ }
+
+ /**
+ * Retrieves a field from the object by Position as specified
+ * in the xml schema. Zero-based.
+ *
+ * @param pos position in xml schema
+ * @return value
+ */
+ public Object getByPosition(int pos)
+ {
+ if (pos == 0)
+ {
+ return new Long(getMailboxId());
+ }
+ if (pos == 1)
+ {
+ return new Long(getUid());
+ }
+ if (pos == 2)
+ {
+ return new Integer(getLineNumber());
+ }
+ if (pos == 3)
+ {
+ return getField();
+ }
+ if (pos == 4)
+ {
+ return getValue();
+ }
+ return null;
+ }
+
+ /**
+ * Stores the object in the database. If the object is new,
+ * it inserts it; otherwise an update is performed.
+ *
+ * @throws Exception
+ */
+ public void save() throws Exception
+ {
+ save(MessageHeaderPeer.getMapBuilder()
+ .getDatabaseMap().getName());
+ }
+
+ /**
+ * Stores the object in the database. If the object is new,
+ * it inserts it; otherwise an update is performed.
+ * Note: this code is here because the method body is
+ * auto-generated conditionally and therefore needs to be
+ * in this file instead of in the super class, BaseObject.
+ *
+ * @param dbName
+ * @throws TorqueException
+ */
+ public void save(String dbName) throws TorqueException
+ {
+ Connection con = null;
+ try
+ {
+ con = Transaction.begin(dbName);
+ save(con);
+ Transaction.commit(con);
+ }
+ catch(TorqueException e)
+ {
+ Transaction.safeRollback(con);
+ throw e;
+ }
+ }
+
+ /** flag to prevent endless save loop, if this object is referenced
+ by another object which falls in this transaction. */
+ private boolean alreadyInSave = false;
+ /**
+ * Stores the object in the database. If the object is new,
+ * it inserts it; otherwise an update is performed. This method
+ * is meant to be used as part of a transaction, otherwise use
+ * the save() method and the connection details will be handled
+ * internally
+ *
+ * @param con
+ * @throws TorqueException
+ */
+ public void save(Connection con) throws TorqueException
+ {
+ if (!alreadyInSave)
+ {
+ alreadyInSave = true;
+
+
+
+ // If this object has been modified, then save it to the database.
+ if (isModified())
+ {
+ if (isNew())
+ {
+ MessageHeaderPeer.doInsert((MessageHeader) this, con);
+ setNew(false);
+ }
+ else
+ {
+ MessageHeaderPeer.doUpdate((MessageHeader) this, con);
+ }
+ }
+
+ alreadyInSave = false;
+ }
+ }
+
+
+
+ private final SimpleKey[] pks = new SimpleKey[3];
+ private final ComboKey comboPK = new ComboKey(pks);
+
+ /**
+ * Set the PrimaryKey with an ObjectKey
+ *
+ * @param key
+ */
+ public void setPrimaryKey(ObjectKey key) throws TorqueException
+ {
+ SimpleKey[] keys = (SimpleKey[]) key.getValue();
+ SimpleKey tmpKey = null;
+ setMailboxId(((NumberKey)keys[0]).longValue());
+ setUid(((NumberKey)keys[1]).longValue());
+ setLineNumber(((NumberKey)keys[2]).intValue());
+ }
+
+ /**
+ * Set the PrimaryKey using SimpleKeys.
+ *
+ * @param mailboxId long
+ * @param uid long
+ * @param lineNumber int
+ */
+ public void setPrimaryKey( long mailboxId, long uid, int lineNumber)
+ throws TorqueException
+ {
+ setMailboxId(mailboxId);
+ setUid(uid);
+ setLineNumber(lineNumber);
+ }
+
+ /**
+ * Set the PrimaryKey using a String.
+ */
+ public void setPrimaryKey(String key) throws TorqueException
+ {
+ setPrimaryKey(new ComboKey(key));
+ }
+
+ /**
+ * returns an id that differentiates this object from others
+ * of its class.
+ */
+ public ObjectKey getPrimaryKey()
+ {
+ pks[0] = SimpleKey.keyFor(getMailboxId());
+ pks[1] = SimpleKey.keyFor(getUid());
+ pks[2] = SimpleKey.keyFor(getLineNumber());
+ return comboPK;
+ }
+
+
+ /**
+ * Makes a copy of this object.
+ * It creates a new object filling in the simple attributes.
+ * It then fills all the association collections and sets the
+ * related objects to isNew=true.
+ */
+ public MessageHeader copy() throws TorqueException
+ {
+ return copyInto(new MessageHeader());
+ }
+
+ protected MessageHeader copyInto(MessageHeader copyObj) throws TorqueException
+ {
+ copyObj.setMailboxId(mailboxId);
+ copyObj.setUid(uid);
+ copyObj.setLineNumber(lineNumber);
+ copyObj.setField(field);
+ copyObj.setValue(value);
+
+ copyObj.setMailboxId( 0);
+ copyObj.setUid( 0);
+ copyObj.setLineNumber( 0);
+
+ return copyObj;
+ }
+
+ /**
+ * returns a peer instance associated with this om. Since Peer classes
+ * are not to have any instance attributes, this method returns the
+ * same instance for all member of this class. The method could therefore
+ * be static, but this would prevent one from overriding the behavior.
+ */
+ public MessageHeaderPeer getPeer()
+ {
+ return peer;
+ }
+
+
+ public String toString()
+ {
+ StringBuffer str = new StringBuffer();
+ str.append("MessageHeader:\n");
+ str.append("MailboxId = ")
+ .append(getMailboxId())
+ .append("\n");
+ str.append("Uid = ")
+ .append(getUid())
+ .append("\n");
+ str.append("LineNumber = ")
+ .append(getLineNumber())
+ .append("\n");
+ str.append("Field = ")
+ .append(getField())
+ .append("\n");
+ str.append("Value = ")
+ .append(getValue())
+ .append("\n");
+ return(str.toString());
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org