test_class.file: flink-core/src/test/java/org/apache/flink/core/fs/PathTest.java
test_class.identifier: PathTest
test_case.body: @Test
  	public void testGetParent() {
  
  		Path p = new Path("/my/fancy/path");
  		assertEquals("/my/fancy", p.getParent().toUri().getPath());
  
  		p = new Path("/my/other/fancy/path/");
  		assertEquals("/my/other/fancy", p.getParent().toUri().getPath());
  
  		p = new Path("hdfs:///my/path");
  		assertEquals("/my", p.getParent().toUri().getPath());
  
  		p = new Path("hdfs:///myPath/");
  		assertEquals("/", p.getParent().toUri().getPath());
  
  		p = new Path("/");
  		assertNull(p.getParent());
  
  		p = new Path("C:/my/windows/path");
  		assertEquals("/C:/my/windows", p.getParent().toUri().getPath());
  	}
test_case.class_method_signature: PathTest.testGetParent()
test_case.full_signature: @Test public void testGetParent()
test_case.identifier: testGetParent
test_case.invocations: assertEquals getPath toUri getParent assertEquals getPath toUri getParent assertEquals getPath toUri getParent assertEquals getPath toUri getParent assertNull getParent assertEquals getPath toUri getParent
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testGetParent()
focal_class.declarator: serialVersionUID = 1L
focal_class.modifier: private static final
focal_class.original_string: private static final long serialVersionUID = 1L;
focal_class.type: long
focal_class.var_name: serialVersionUID
focal_class.declarator: SEPARATOR = "/"
focal_class.modifier: public static final
focal_class.original_string: public static final String SEPARATOR = "/";
focal_class.type: String
focal_class.var_name: SEPARATOR
focal_class.declarator: SEPARATOR_CHAR = '/'
focal_class.modifier: public static final
focal_class.original_string: public static final char SEPARATOR_CHAR = '/';
focal_class.type: char
focal_class.var_name: SEPARATOR_CHAR
focal_class.declarator: CUR_DIR = "."
focal_class.modifier: public static final
focal_class.original_string: public static final String CUR_DIR = ".";
focal_class.type: String
focal_class.var_name: CUR_DIR
focal_class.declarator: uri
focal_class.modifier: private
focal_class.original_string: private URI uri;
focal_class.type: URI
focal_class.var_name: uri
focal_class.file: flink-core/src/main/java/org/apache/flink/core/fs/Path.java
focal_class.identifier: Path
focal_class.interfaces: implements IOReadableWritable, Serializable
focal_class.class_method_signature: Path.Path()
focal_class.full_signature: public  Path()
focal_class.identifier: Path
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  Path()
focal_class.class_method_signature: Path.Path(URI uri)
focal_class.full_signature: public  Path(URI uri)
focal_class.identifier: Path
focal_class.modifiers: public
focal_class.parameters: (URI uri)
focal_class.signature:  Path(URI uri)
focal_class.class_method_signature: Path.Path(String parent, String child)
focal_class.full_signature: public  Path(String parent, String child)
focal_class.identifier: Path
focal_class.modifiers: public
focal_class.parameters: (String parent, String child)
focal_class.signature:  Path(String parent, String child)
focal_class.class_method_signature: Path.Path(Path parent, String child)
focal_class.full_signature: public  Path(Path parent, String child)
focal_class.identifier: Path
focal_class.modifiers: public
focal_class.parameters: (Path parent, String child)
focal_class.signature:  Path(Path parent, String child)
focal_class.class_method_signature: Path.Path(String parent, Path child)
focal_class.full_signature: public  Path(String parent, Path child)
focal_class.identifier: Path
focal_class.modifiers: public
focal_class.parameters: (String parent, Path child)
focal_class.signature:  Path(String parent, Path child)
focal_class.class_method_signature: Path.Path(Path parent, Path child)
focal_class.full_signature: public  Path(Path parent, Path child)
focal_class.identifier: Path
focal_class.modifiers: public
focal_class.parameters: (Path parent, Path child)
focal_class.signature:  Path(Path parent, Path child)
focal_class.class_method_signature: Path.checkAndTrimPathArg(String path)
focal_class.full_signature: private String checkAndTrimPathArg(String path)
focal_class.identifier: checkAndTrimPathArg
focal_class.modifiers: private
focal_class.parameters: (String path)
focal_class.return: String
focal_class.signature: String checkAndTrimPathArg(String path)
focal_class.class_method_signature: Path.Path(String pathString)
focal_class.full_signature: public  Path(String pathString)
focal_class.identifier: Path
focal_class.modifiers: public
focal_class.parameters: (String pathString)
focal_class.signature:  Path(String pathString)
focal_class.class_method_signature: Path.Path(String scheme, String authority, String path)
focal_class.full_signature: public  Path(String scheme, String authority, String path)
focal_class.identifier: Path
focal_class.modifiers: public
focal_class.parameters: (String scheme, String authority, String path)
focal_class.signature:  Path(String scheme, String authority, String path)
focal_class.class_method_signature: Path.initialize(String scheme, String authority, String path)
focal_class.full_signature: private void initialize(String scheme, String authority, String path)
focal_class.identifier: initialize
focal_class.modifiers: private
focal_class.parameters: (String scheme, String authority, String path)
focal_class.return: void
focal_class.signature: void initialize(String scheme, String authority, String path)
focal_class.class_method_signature: Path.normalizePath(String path)
focal_class.full_signature: private String normalizePath(String path)
focal_class.identifier: normalizePath
focal_class.modifiers: private
focal_class.parameters: (String path)
focal_class.return: String
focal_class.signature: String normalizePath(String path)
focal_class.class_method_signature: Path.hasWindowsDrive(String path, boolean slashed)
focal_class.full_signature: private boolean hasWindowsDrive(String path, boolean slashed)
focal_class.identifier: hasWindowsDrive
focal_class.modifiers: private
focal_class.parameters: (String path, boolean slashed)
focal_class.return: boolean
focal_class.signature: boolean hasWindowsDrive(String path, boolean slashed)
focal_class.class_method_signature: Path.toUri()
focal_class.full_signature: public URI toUri()
focal_class.identifier: toUri
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: URI
focal_class.signature: URI toUri()
focal_class.class_method_signature: Path.getFileSystem()
focal_class.full_signature: public FileSystem getFileSystem()
focal_class.identifier: getFileSystem
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: FileSystem
focal_class.signature: FileSystem getFileSystem()
focal_class.class_method_signature: Path.isAbsolute()
focal_class.full_signature: public boolean isAbsolute()
focal_class.identifier: isAbsolute
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isAbsolute()
focal_class.class_method_signature: Path.getName()
focal_class.full_signature: public String getName()
focal_class.identifier: getName
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getName()
focal_class.class_method_signature: Path.getParent()
focal_class.full_signature: public Path getParent()
focal_class.identifier: getParent
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Path
focal_class.signature: Path getParent()
focal_class.class_method_signature: Path.suffix(String suffix)
focal_class.full_signature: public Path suffix(String suffix)
focal_class.identifier: suffix
focal_class.modifiers: public
focal_class.parameters: (String suffix)
focal_class.return: Path
focal_class.signature: Path suffix(String suffix)
focal_class.class_method_signature: Path.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_class.class_method_signature: Path.equals(Object o)
focal_class.full_signature: @Override public boolean equals(Object o)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (Object o)
focal_class.return: boolean
focal_class.signature: boolean equals(Object o)
focal_class.class_method_signature: Path.hashCode()
focal_class.full_signature: @Override public int hashCode()
focal_class.identifier: hashCode
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int hashCode()
focal_class.class_method_signature: Path.compareTo(Object o)
focal_class.full_signature: public int compareTo(Object o)
focal_class.identifier: compareTo
focal_class.modifiers: public
focal_class.parameters: (Object o)
focal_class.return: int
focal_class.signature: int compareTo(Object o)
focal_class.class_method_signature: Path.depth()
focal_class.full_signature: public int depth()
focal_class.identifier: depth
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int depth()
focal_class.class_method_signature: Path.makeQualified(FileSystem fs)
focal_class.full_signature: public Path makeQualified(FileSystem fs)
focal_class.identifier: makeQualified
focal_class.modifiers: public
focal_class.parameters: (FileSystem fs)
focal_class.return: Path
focal_class.signature: Path makeQualified(FileSystem fs)
focal_class.class_method_signature: Path.read(DataInputView in)
focal_class.full_signature: @Override public void read(DataInputView in)
focal_class.identifier: read
focal_class.modifiers: @Override public
focal_class.parameters: (DataInputView in)
focal_class.return: void
focal_class.signature: void read(DataInputView in)
focal_class.class_method_signature: Path.write(DataOutputView out)
focal_class.full_signature: @Override public void write(DataOutputView out)
focal_class.identifier: write
focal_class.modifiers: @Override public
focal_class.parameters: (DataOutputView out)
focal_class.return: void
focal_class.signature: void write(DataOutputView out)
focal_method.body: public Path getParent() {
  		final String path = uri.getPath();
  		final int lastSlash = path.lastIndexOf('/');
  		final int start = hasWindowsDrive(path, true) ? 3 : 0;
  		if ((path.length() == start) || // empty path
  			(lastSlash == start && path.length() == start + 1)) { // at root
  			return null;
  		}
  		String parent;
  		if (lastSlash == -1) {
  			parent = CUR_DIR;
  		} else {
  			final int end = hasWindowsDrive(path, true) ? 3 : 0;
  			parent = path.substring(0, lastSlash == end ? end + 1 : lastSlash);
  		}
  		return new Path(uri.getScheme(), uri.getAuthority(), parent);
  	}
focal_method.class_method_signature: Path.getParent()
focal_method.full_signature: public Path getParent()
focal_method.identifier: getParent
focal_method.invocations: getPath lastIndexOf hasWindowsDrive length length hasWindowsDrive substring getScheme getAuthority
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: Path
focal_method.signature: Path getParent()