[ https://issues.apache.org/jira/browse/CURATOR-33?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14081652#comment-14081652 ]
ASF GitHub Bot commented on CURATOR-33: --------------------------------------- Github user dragonsinth commented on a diff in the pull request: https://github.com/apache/curator/pull/17#discussion_r15675713 --- Diff: curator-recipes/src/main/java/org/apache/curator/framework/recipes/cache/TreeCacheEvent.java --- @@ -0,0 +1,126 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 org.apache.curator.framework.recipes.cache; + +/** + * POJO that abstracts a change to a path + */ +public class TreeCacheEvent +{ + private final Type type; + private final ChildData data; + + /** + * Type of change + */ + public enum Type + { + /** + * A node was added. + */ + NODE_ADDED, + + /** + * A node's data was changed + */ + NODE_UPDATED, + + /** + * A node was removed from the tree + */ + NODE_REMOVED, + + /** + * Called when the connection has changed to {@link org.apache.curator.framework.state.ConnectionState#SUSPENDED} + * <p/> + * This is exposed so that users of the class can be notified of issues that *might* affect normal operation. + * The TreeCache is written such that listeners are not expected to do anything special on this + * event, except for those people who want to cause some application-specific logic to fire when this occurs. + * While the connection is down, the TreeCache will continue to have its state from before it lost + * the connection and after the connection is restored, the TreeCache will emit normal child events + * for all of the adds, deletes and updates that happened during the time that it was disconnected. + */ + CONNECTION_SUSPENDED, + + /** + * Called when the connection has changed to {@link org.apache.curator.framework.state.ConnectionState#RECONNECTED} + * <p/> + * This is exposed so that users of the class can be notified of issues that *might* affect normal operation. + * The TreeCache is written such that listeners are not expected to do anything special on this + * event, except for those people who want to cause some application-specific logic to fire when this occurs. + * While the connection is down, the TreeCache will continue to have its state from before it lost + * the connection and after the connection is restored, the TreeCache will emit normal child events + * for all of the adds, deletes and updates that happened during the time that it was disconnected. + */ + CONNECTION_RECONNECTED, + + /** + * Called when the connection has changed to {@link org.apache.curator.framework.state.ConnectionState#LOST} + * <p/> + * This is exposed so that users of the class can be notified of issues that *might* affect normal operation. + * The TreeCache is written such that listeners are not expected to do anything special on this + * event, except for those people who want to cause some application-specific logic to fire when this occurs. + * While the connection is down, the TreeCache will continue to have its state from before it lost + * the connection and after the connection is restored, the TreeCache will emit normal child events + * for all of the adds, deletes and updates that happened during the time that it was disconnected. + */ + CONNECTION_LOST, + + /** + * Posted when the initial cache has been populated. --- End diff -- update doc > Recursive Node Cache > -------------------- > > Key: CURATOR-33 > URL: https://issues.apache.org/jira/browse/CURATOR-33 > Project: Apache Curator > Issue Type: Improvement > Components: Recipes > Reporter: John Vines > Assignee: Jordan Zimmerman > Fix For: TBD > > Attachments: CURATOR-33.2.patch, CURATOR-33.patch > > > Currently the PathChildrenCache will trigger listen events for all children > at the given node. However, it would be useful to have a cache that would > trigger listen events for the entire hierarchy below the given node. -- This message was sent by Atlassian JIRA (v6.2#6252)