summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/google/gerrit/client/reviewdb/AccountProjectWatch.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/gerrit/client/reviewdb/AccountProjectWatch.java')
-rw-r--r--src/main/java/com/google/gerrit/client/reviewdb/AccountProjectWatch.java95
1 files changed, 95 insertions, 0 deletions
diff --git a/src/main/java/com/google/gerrit/client/reviewdb/AccountProjectWatch.java b/src/main/java/com/google/gerrit/client/reviewdb/AccountProjectWatch.java
new file mode 100644
index 0000000000..0c4053123f
--- /dev/null
+++ b/src/main/java/com/google/gerrit/client/reviewdb/AccountProjectWatch.java
@@ -0,0 +1,95 @@
+// Copyright 2008 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.google.gerrit.client.reviewdb;
+
+import com.google.gwtorm.client.Column;
+import com.google.gwtorm.client.CompoundKey;
+
+/** An {@link Account} interested in a {@link Project}. */
+public final class AccountProjectWatch {
+ public static class Key extends CompoundKey<Account.Id> {
+ @Column
+ protected Account.Id accountId;
+
+ @Column
+ protected Project.Id projectId;
+
+ protected Key() {
+ accountId = new Account.Id();
+ projectId = new Project.Id();
+ }
+
+ public Key(final Account.Id a, final Project.Id g) {
+ accountId = a;
+ projectId = g;
+ }
+
+ @Override
+ public Account.Id getParentKey() {
+ return accountId;
+ }
+
+ @Override
+ public com.google.gwtorm.client.Key<?>[] members() {
+ return new com.google.gwtorm.client.Key<?>[] {projectId};
+ }
+ }
+
+ @Column(name = Column.NONE)
+ protected Key key;
+
+ /** Automatically send email notifications of new changes? */
+ @Column
+ protected boolean notifyNewChanges;
+
+ /** Automatically receive comments published to this project */
+ @Column
+ protected boolean notifyAllComments;
+
+ protected AccountProjectWatch() {
+ }
+
+ public AccountProjectWatch(final AccountProjectWatch.Key k) {
+ key = k;
+ }
+
+ public AccountProjectWatch.Key getKey() {
+ return key;
+ }
+
+ public Account.Id getAccountId() {
+ return key.accountId;
+ }
+
+ public Project.Id getProjectId() {
+ return key.projectId;
+ }
+
+ public boolean isNotifyNewChanges() {
+ return notifyNewChanges;
+ }
+
+ public void setNotifyNewChanges(final boolean a) {
+ notifyNewChanges = a;
+ }
+
+ public boolean isNotifyAllComments() {
+ return notifyAllComments;
+ }
+
+ public void setNotifyAllComments(final boolean a) {
+ notifyAllComments = a;
+ }
+}