Categories:
Audio (13)
Biotech (29)
Bytecode (35)
Database (77)
Framework (7)
Game (7)
General (512)
Graphics (53)
I/O (32)
IDE (2)
JAR Tools (86)
JavaBeans (16)
JDBC (89)
JDK (337)
JSP (20)
Logging (103)
Mail (54)
Messaging (8)
Network (71)
PDF (94)
Report (7)
Scripting (83)
Security (32)
Server (119)
Servlet (17)
SOAP (24)
Testing (50)
Web (19)
XML (301)
Other Resources:
Apache ZooKeeper Server Source Code
Apache ZooKeeper is an open-source server which enables highly
reliable distributed coordination.
Apache ZooKeeper Server Source Code files are provided in the source packge (apache-zookeeper-3.7.0.tar.gz). You can download it at Apache ZooKeeper Website.
You can also browse Apache ZooKeeper Server Source Code below:
✍: FYIcenter.com
⏎ org/apache/zookeeper/server/watch/PathParentIterator.java
/** * 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.zookeeper.server.watch; import java.util.Iterator; import java.util.NoSuchElementException; /** * Iterates over a ZooKeeper path. Each iteration goes up one parent path. Thus, the * effect of the iterator is to iterate over the initial path and then all of its parents. */ public class PathParentIterator implements Iterator<String> { private String path; private final int maxLevel; private int level = -1; /** * Return a new PathParentIterator that iterates from the * given path to all parents. * * @param path initial path */ public static PathParentIterator forAll(String path) { return new PathParentIterator(path, Integer.MAX_VALUE); } /** * Return a new PathParentIterator that only returns the given path - i.e. * does not iterate to parent paths. * * @param path initial path */ public static PathParentIterator forPathOnly(String path) { return new PathParentIterator(path, 0); } private PathParentIterator(String path, int maxLevel) { // NOTE: asserts that the path has already been validated this.path = path; this.maxLevel = maxLevel; } /** * Return an Iterable view so that this Iterator can be used in for each * statements. IMPORTANT: the returned Iterable is single use only * @return Iterable */ public Iterable<String> asIterable() { return () -> PathParentIterator.this; } @Override public boolean hasNext() { return !path.isEmpty() && (level < maxLevel); } /** * Returns true if this iterator is currently at a parent path as opposed * to the initial path given to the constructor * * @return true/false */ public boolean atParentPath() { return level > 0; } @Override public String next() { if (!hasNext()) { throw new NoSuchElementException(); } String localPath = path; ++level; if (path.equals("/")) { path = ""; } else { path = path.substring(0, path.lastIndexOf('/')); if (path.length() == 0) { path = "/"; } } return localPath; } @Override public void remove() { throw new UnsupportedOperationException(); } }
⏎ org/apache/zookeeper/server/watch/PathParentIterator.java
Â
⇒ Apache ZooKeeper Jute Source Code
⇑ Downloading and Reviewing zookeeper.jar
⇑⇑ FAQ for Apache ZooKeeper
2018-10-18, 29031👍, 1💬
Popular Posts:
commons-lang-1.0.1.jar is the JAR file for Apache Commons Lang 1.0.1, which provides a host of helpe...
How to download and install JDK (Java Development Kit) 8? If you want to write Java applications, yo...
JAX-WS is an API for building web services and clients. It is the next generation Web Services API r...
ASM is an all purpose Java bytecode manipulation and analysis framework. It can be used to modify ex...
The Java Naming and Directory Interface (JNDI) is part of the Java platform, providing applications ...