# org.das2.util.filesystem.GitLabFileSystem

GitLab-backed FileSystem for Das2.

 Intended URI forms:

   https://git.example.edu/group/subgroup/project/-/blob/main/path/to/file.txt
   https://git.example.edu/group/subgroup/project/-/tree/main/path/to/dir
   https://git.example.edu/group/subgroup/project

 Internal strategy:
   - parse the web URL into host + projectPath + optional ref + optional repoPath
   - if ref is missing, query project metadata and use default_branch
   - list directories with /api/v4/projects/:id/repository/tree
   - read files with /-/raw/{ref}/{path}
 
 This was written by ChatGPT, experimenting to get a cleaner implementation of the filesystem.  It is not in use.

***
<a name="createGitLabFileSystem-java.net.URI"></a>
# createGitLabFileSystem
createGitLabFileSystem( <a href='https://docs.oracle.com/javase/8/docs/api/java/net/URI.html'>java.net.URI</a> rootUri ) &rarr; <a href='https://cottagesystems.com/~jbf/autoplot/doc/org/das2/util/filesystem/GitLabFileSystem.html'>org.das2.util.filesystem.GitLabFileSystem</a>



### Parameters:
rootUri - an URI

### Returns:
org.das2.util.filesystem.GitLabFileSystem


<a href="https://github.com/autoplot/dev/search?q=createGitLabFileSystem&unscoped_q=createGitLabFileSystem">[search for examples]</a>
<a href="https://github.com/autoplot/documentation/blob/master/javadoc/index-all.md">[return to index]</a>

***
<a name="getFileObject-java.lang.String"></a>
# getFileObject
getFileObject( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> filename ) &rarr; <a href='https://cottagesystems.com/~jbf/autoplot/doc/org/das2/util/filesystem/FileObject.html'>org.das2.util.filesystem.FileObject</a>



### Parameters:
filename - a String

### Returns:
org.das2.util.filesystem.FileObject


<a href="https://github.com/autoplot/dev/search?q=getFileObject&unscoped_q=getFileObject">[search for examples]</a>
<a href="https://github.com/autoplot/documentation/blob/master/javadoc/index-all.md">[return to index]</a>

***
<a name="getRootURI"></a>
# getRootURI
getRootURI(  ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/net/URI.html'>java.net.URI</a>

Optional convenience.

### Returns:
java.net.URI


<a href="https://github.com/autoplot/dev/search?q=getRootURI&unscoped_q=getRootURI">[search for examples]</a>
<a href="https://github.com/autoplot/documentation/blob/master/javadoc/index-all.md">[return to index]</a>

***
<a name="getSize-java.lang.String"></a>
# getSize
getSize( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> filename ) &rarr; long

Optional convenience method if Das2 FileSystem has a method like this.

### Parameters:
filename - a String

### Returns:
long


<a href="https://github.com/autoplot/dev/search?q=getSize&unscoped_q=getSize">[search for examples]</a>
<a href="https://github.com/autoplot/documentation/blob/master/javadoc/index-all.md">[return to index]</a>

***
<a name="isDirectory-java.lang.String"></a>
# isDirectory
isDirectory( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> filename ) &rarr; boolean



### Parameters:
filename - a String

### Returns:
boolean


<a href="https://github.com/autoplot/dev/search?q=isDirectory&unscoped_q=isDirectory">[search for examples]</a>
<a href="https://github.com/autoplot/documentation/blob/master/javadoc/index-all.md">[return to index]</a>

***
<a name="listDirectory-java.lang.String"></a>
# listDirectory
listDirectory( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> directory ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String[]</a>



### Parameters:
directory - a String

### Returns:
java.lang.String[]


<a href="https://github.com/autoplot/dev/search?q=listDirectory&unscoped_q=listDirectory">[search for examples]</a>
<a href="https://github.com/autoplot/documentation/blob/master/javadoc/index-all.md">[return to index]</a>

