[jboss-cvs] jboss-mail/src/java/org/jboss/mail/mailbox ...
Michael Barker
mike at middlesoft.co.uk
Tue Jul 25 16:42:01 EDT 2006
User: mikezzz
Date: 06/07/25 16:42:01
Modified: src/java/org/jboss/mail/mailbox Folder.java
Added: src/java/org/jboss/mail/mailbox FolderSequence.java
Log:
Started work to create a folder scoped sequence.
Revision Changes Path
1.16 +20 -1 jboss-mail/src/java/org/jboss/mail/mailbox/Folder.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Folder.java
===================================================================
RCS file: /cvsroot/jboss/jboss-mail/src/java/org/jboss/mail/mailbox/Folder.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- Folder.java 17 Apr 2006 22:30:03 -0000 1.15
+++ Folder.java 25 Jul 2006 20:42:01 -0000 1.16
@@ -37,13 +37,14 @@
import javax.persistence.Inheritance;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
+import javax.persistence.OneToOne;
import javax.persistence.Transient;
/**
* Mailboxes and folder contain other folders. Folders may contain messages.
*
* @author Andrew C. Oliver
- * @version $Revision: 1.15 $
+ * @version $Revision: 1.16 $
*/
@Entity
@Inheritance(strategy = javax.persistence.InheritanceType.SINGLE_TABLE)
@@ -85,10 +86,19 @@
*/
private Collection<Lock> locks;
+ /**
+ * Entity to hold a sequence number for this folder.
+ * Related here to simplify creation. Will normally be accessed
+ * using native SQL.
+ */
+ private FolderSequence folderSequence;
+
public Folder() {
this.folders = new ArrayList<Folder>();
this.locks = new HashSet<Lock>();
this.messages = new ArrayList<MessageData>();
+ this.folderSequence = new FolderSequence();
+ folderSequence.setFolder(this);
}
/**
@@ -229,4 +239,13 @@
protected void setFolders(Collection<Folder> folders) {
this.folders = folders;
}
+
+ @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "folder")
+ public FolderSequence getFolderSequence() {
+ return this.folderSequence;
+ }
+
+ public void setFolderSequence(FolderSequence fs) {
+ folderSequence = fs;
+ }
}
1.1 date: 2006/07/25 20:42:01; author: mikezzz; state: Exp;jboss-mail/src/java/org/jboss/mail/mailbox/FolderSequence.java
Index: FolderSequence.java
===================================================================
/**
*
*/
package org.jboss.mail.mailbox;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToOne;
/**
* @author Michael Barker
*
*/
@Entity
public class FolderSequence {
private long id;
private Folder folder;
private long nextMessageId = 1;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
@OneToOne
public Folder getFolder() {
return folder;
}
public void setFolder(Folder folder) {
this.folder = folder;
}
public long getNextMessageId() {
return nextMessageId;
}
public void setNextMessageId(long l) {
nextMessageId = l;
}
}
More information about the jboss-cvs-commits
mailing list