Repository: cayenne
Updated Branches:
  refs/heads/master 58c7c3b37 -> 3a412a4aa


CAY-2030 Capturing a stream of commit changes

API usability improvements: visitor returning value


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/3a412a4a
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/3a412a4a
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/3a412a4a

Branch: refs/heads/master
Commit: 3a412a4aadd9e2ac8d341fb8ce3ce91deedcc631
Parents: e00a641
Author: Andrus Adamchik <and...@objectstyle.com>
Authored: Mon Oct 12 13:06:40 2015 -0400
Committer: aadamchik <aadamc...@apache.org>
Committed: Mon Oct 12 14:42:25 2015 -0400

----------------------------------------------------------------------
 .../cayenne/lifecycle/changemap/MutableAttributeChange.java  | 4 ++--
 .../lifecycle/changemap/MutableToManyRelationshipChange.java | 6 +++---
 .../lifecycle/changemap/MutableToOneRelationshipChange.java  | 4 ++--
 .../apache/cayenne/lifecycle/changemap/PropertyChange.java   | 2 +-
 .../cayenne/lifecycle/changemap/PropertyChangeVisitor.java   | 8 ++++----
 5 files changed, 12 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/3a412a4a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changemap/MutableAttributeChange.java
----------------------------------------------------------------------
diff --git 
a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changemap/MutableAttributeChange.java
 
b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changemap/MutableAttributeChange.java
index 5dcb17a..6d6cdc0 100644
--- 
a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changemap/MutableAttributeChange.java
+++ 
b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changemap/MutableAttributeChange.java
@@ -27,8 +27,8 @@ public class MutableAttributeChange implements 
AttributeChange {
        private Object newValue;
 
        @Override
-       public void accept(PropertyChangeVisitor visitor) {
-               visitor.visitAttribute(this);
+       public <T> T accept(PropertyChangeVisitor<T> visitor) {
+               return visitor.visitAttribute(this);
        }
 
        public void setOldValue(Object oldValue) {

http://git-wip-us.apache.org/repos/asf/cayenne/blob/3a412a4a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changemap/MutableToManyRelationshipChange.java
----------------------------------------------------------------------
diff --git 
a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changemap/MutableToManyRelationshipChange.java
 
b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changemap/MutableToManyRelationshipChange.java
index 7b5a9cf..b49f618 100644
--- 
a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changemap/MutableToManyRelationshipChange.java
+++ 
b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changemap/MutableToManyRelationshipChange.java
@@ -33,10 +33,10 @@ public class MutableToManyRelationshipChange implements 
ToManyRelationshipChange
        private Collection<ObjectId> removed;
 
        @Override
-       public void accept(PropertyChangeVisitor visitor) {
-               visitor.visitToManyRelationship(this);
+       public <T> T accept(PropertyChangeVisitor<T> visitor) {
+               return visitor.visitToManyRelationship(this);
        }
-       
+
        @Override
        public Collection<ObjectId> getAdded() {
                return added == null ? Collections.<ObjectId> emptyList() : 
added;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/3a412a4a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changemap/MutableToOneRelationshipChange.java
----------------------------------------------------------------------
diff --git 
a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changemap/MutableToOneRelationshipChange.java
 
b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changemap/MutableToOneRelationshipChange.java
index 2501224..674938e 100644
--- 
a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changemap/MutableToOneRelationshipChange.java
+++ 
b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changemap/MutableToOneRelationshipChange.java
@@ -29,8 +29,8 @@ public class MutableToOneRelationshipChange implements 
ToOneRelationshipChange {
        private ObjectId newValue;
 
        @Override
-       public void accept(PropertyChangeVisitor visitor) {
-               visitor.visitToOneRelationship(this);
+       public <T> T accept(PropertyChangeVisitor<T> visitor) {
+               return visitor.visitToOneRelationship(this);
        }
 
        @Override

http://git-wip-us.apache.org/repos/asf/cayenne/blob/3a412a4a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changemap/PropertyChange.java
----------------------------------------------------------------------
diff --git 
a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changemap/PropertyChange.java
 
b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changemap/PropertyChange.java
index 852642f..47e7323 100644
--- 
a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changemap/PropertyChange.java
+++ 
b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changemap/PropertyChange.java
@@ -25,5 +25,5 @@ package org.apache.cayenne.lifecycle.changemap;
  */
 public interface PropertyChange {
 
-       void accept(PropertyChangeVisitor visitor);
+       <T> T accept(PropertyChangeVisitor<T> visitor);
 }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/3a412a4a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changemap/PropertyChangeVisitor.java
----------------------------------------------------------------------
diff --git 
a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changemap/PropertyChangeVisitor.java
 
b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changemap/PropertyChangeVisitor.java
index b49d4bc..134ba98 100644
--- 
a/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changemap/PropertyChangeVisitor.java
+++ 
b/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/changemap/PropertyChangeVisitor.java
@@ -21,11 +21,11 @@ package org.apache.cayenne.lifecycle.changemap;
 /**
  * @since 4.0
  */
-public interface PropertyChangeVisitor {
+public interface PropertyChangeVisitor<T> {
 
-       void visitAttribute(AttributeChange change);
+       T visitAttribute(AttributeChange change);
 
-       void visitToOneRelationship(ToOneRelationshipChange change);
+       T visitToOneRelationship(ToOneRelationshipChange change);
 
-       void visitToManyRelationship(ToManyRelationshipChange change);
+       T visitToManyRelationship(ToManyRelationshipChange change);
 }

Reply via email to