commonMain.elide.core.encoding.CodecIdentifiable.kt Maven / Gradle / Ivy
/*
* Copyright (c) 2023 Elide Ventures, LLC.
*
* Licensed under the MIT license (the "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* https://opensource.org/license/mit/
*
* 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 elide.core.encoding
/**
* # Codec Identifiable
*
* Describes a component of a [Codec], or a generic data object that can identify an [Encoding]. Raw data outputs are
* also [CodecIdentifiable] by default.
*/
public interface CodecIdentifiable {
/**
* Return the enumerated [Encoding] which is implemented by this [Codec].
*
* @return Enumerated encoding type.
*/
public fun encoding(): Encoding
}