Skip to content

Commit

Permalink
Implement java.nio.file.{AccessMode,ReadOnlyFileSystemException} (s…
Browse files Browse the repository at this point in the history
  • Loading branch information
LeeTibbert committed Sep 19, 2023
1 parent f50d68d commit 3d72c1d
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 0 deletions.
21 changes: 21 additions & 0 deletions javalib/src/main/scala/java/nio/file/AccessMode.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package java.nio.file

sealed class AccessMode(name: String, ordinal: Int)
extends _Enum[AccessMode](name, ordinal) {
override def toString() = this.name
}

object AccessMode {
final val EXECUTE = new AccessMode("EXECUTE", 0)
final val READ = new AccessMode("READ", 1)
final val WRITE = new AccessMode("WRITE", 1)

private[this] val cachedValues =
Array(EXECUTE, READ, WRITE)
def values(): Array[AccessMode] = cachedValues.clone()
def valueOf(name: String): AccessMode = {
cachedValues.find(_.name() == name).getOrElse {
throw new IllegalArgumentException("No enum const AccessMode." + name)
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
package java.nio.file

class ReadOnlyFileSystemException extends UnsupportedOperationException
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package org.scalanative.testsuite.javalib.nio.file

import java.nio.file._

import org.junit.Test
import org.junit.Assert._

import org.scalanative.testsuite.utils.AssertThrows.assertThrows

class ReadOnlyFileSystemExceptionTest {

@Test def readOnlyFileSystemExceptionExists(): Unit = {
assertThrows(
classOf[ReadOnlyFileSystemException],
throw new ReadOnlyFileSystemException()
)
}
}

0 comments on commit 3d72c1d

Please sign in to comment.