All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.kinotic.continuum.idl.api.converter.IdlConverter Maven / Gradle / Ivy

There is a newer version: 2.3.1
Show newest version
package org.kinotic.continuum.idl.api.converter;

import org.kinotic.continuum.idl.api.schema.C3Type;

/**
 * {@link IdlConverter} allows for conversion of Continuum IDL types to a specific language type.
 * The {@link IdlConverter} contains state and can be reused but will retain state between requests.
 * If state needs to be reset a new {@link IdlConverter} should be created.
 *
 * @param  the type to convert to
 * @param  the state type
 *
 * Created by Navíd Mitchell 🤪 on 4/26/23.
 */
public interface IdlConverter {

    /**
     * Converts the given {@link C3Type} to the specific language type.
     * @param type to convert
     * @return the converted type
     */
    R convert(C3Type type);

    /**
     * The {@link C3ConversionContext} that is used during the conversion process.
     * Ths allows {@link C3TypeConverter} to store information needed after the conversion process.
     * @return the {@link C3ConversionContext} used during conversion
     */
    C3ConversionContext getConversionContext();

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy