kantan.codecs.resource
Members list
Packages
Adds Byte Order Mark support to resources.
Adds Byte Order Mark support to resources.
By importing this package, the default behaviour of kantan libraries will be changed to: * add a BOM when writing textual data (if one exists for the output charset). * attempt to find a BOM when reading textual data and, if one is found, use the corresponding charset (potentially overriding whatever charset was specified "in-code").
Those behaviours are not enabled by default as they're very Microsoft-specific.
Attributes
Type members
Classlikes
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
CloseResult.type
Type class for all types that can be closed.
Type class for all types that can be closed.
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
Provides instance summoning methods for InputResource.
Provides instance summoning methods for InputResource.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
InputResource.type
Attributes
- Supertypes
- Self type
-
OpenResult.type
Provides instance summoning methods for OutputResource.
Provides instance summoning methods for OutputResource.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
OutputResource.type
Attributes
- Supertypes
-
class WithError[ProcessError]trait WithDefault[ProcessError]trait Simple[ProcessError]trait Simple[ProcessError]class Objecttrait Matchableclass AnyShow all
- Self type
-
ProcessResult.type
Provides instance summoning methods for ReaderResource.
Provides instance summoning methods for ReaderResource.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
ReaderResource.type
Represents a resource that can be opened and worked on.
Represents a resource that can be opened and worked on.
The purpose of this trait is to abstract over the notion of "things that can be opened", such as files, URLs... Default instances are provided for java.io
types - java.io.File
, for example, has instances for both opening it for reading and for writing.
Type parameters
- I
-
type of the resource itself (eg
java.io.File
). - R
-
type of the opened resource (eg
java.io.InputStream
)
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Attributes
Attributes
- Companion
- class
- Supertypes
-
trait Sumtrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
ResourceError.type
Offers iterator-like access to IO resources.
Offers iterator-like access to IO resources.
For the most part, values of type ResourceIterator can be considered as iterators, with a few improvements.
First, they have a ResourceIterator.close method, which allows you to release the underlying resource when needed. This is fairly important and part of the reason why working with Source.getLines
can be so aggravating.
Second, ResourceIterator.close is mostly not needed: whenever an IO error occurs or the underlying resource is empty, it will be closed automatically. Provided you intend to read the whole resource, you never need to explicitly close it. This covers non-obvious cases such as filtering or dropping elements.
You should be able to express most common causes for not reading the entire stream through standard combinators. For example, "take the first n
elements" is take(n)
, or "take all odd elements" is filter(_ % 2 == 0)
. This allows you to ignore the fact that the underlying resource needs to be closed. Should you ever find youself in a situation when you just want to stop, however, ResourceIterator.close is available.
Attributes
- Companion
- object
- Supertypes
-
trait Closeabletrait AutoCloseabletrait VersionSpecificResourceIterator[A]class Objecttrait Matchableclass AnyShow all
- Self type
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
ResourceIterator.type
Provides convenience methods for ResourceResult.
Provides convenience methods for ResourceResult.
Attributes
- Supertypes
- Self type
-
ResourceResult.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait ResourceIterator[A]
- Self type
Provides instance summoning methods for WriterResource.
Provides instance summoning methods for WriterResource.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
WriterResource.type
Types
Resource specialised for java.io.Reader
.
Resource specialised for java.io.Reader
.
Note that it's good practice not to declare explicit instances of ReaderResource for types that have an instance of InputResource. It's better to let the implicit resolution mechanism work out how to best turn an InputStream
into a Reader
- the JVM-specific kantan.codecs.resource.bom
package, in particular, relies on this.
Attributes
Resource specialised for java.io.Writer
.
Resource specialised for java.io.Writer
.
Note that it's good practice not to declare explicit instances of WriterResource for types that have an instance of OutputResource. It's better to let the implicit resolution mechanism work out how to best turn an OutputStream
into a Writer
- the JVM-specific kantan.codecs.resource.bom
package, in particular, relies on this.