Package org.incenp.linkml.core
Class TransparentConverter
- java.lang.Object
-
- org.incenp.linkml.core.TransparentConverter
-
- All Implemented Interfaces:
IConverter
public class TransparentConverter extends Object implements IConverter
A special “converter” that does not, in fact, convert anything, but simply passes whatever object it is given unchanged.This converter is especially intended to deal with slots whose range is set to
linkml:Any(or, more precisely, to a class that “takes the role oflinkml:Any”), which are represented in Java as Object-typed fields. The value of a such a field does not require any conversion (and in fact attempting to convert one using the genericObjectConverterwould lead to an error).
-
-
Constructor Summary
Constructors Constructor Description TransparentConverter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Objectconvert(Object raw, ConverterContext ctx)Converts a raw object into a LinkML object.voidconvertForSlot(Object raw, Object dest, Slot slot, ConverterContext ctx)Converts a raw object into a LinkML object and assigns the result to a slot of another object.Class<?>getType()Gets the type of object that this converter can convert a raw object into.Objectserialise(Object object, ConverterContext ctx)Converts a LinkML object into a raw object.ObjectserialiseForSlot(Object object, Slot slot, ConverterContext ctx)Converts a LinkML object into a raw object, when the object is the value of a specific LinkML slot.protected List<Object>toList(Object raw)
-
-
-
Method Detail
-
getType
public Class<?> getType()
Description copied from interface:IConverterGets the type of object that this converter can convert a raw object into.- Specified by:
getTypein interfaceIConverter
-
convert
public Object convert(Object raw, ConverterContext ctx) throws LinkMLRuntimeException
Description copied from interface:IConverterConverts a raw object into a LinkML object.- Specified by:
convertin interfaceIConverter- Parameters:
raw- The raw object to convert.ctx- The global converter context.- Returns:
- The converted object.
- Throws:
LinkMLRuntimeException- If the converter cannot convert the given value.
-
convertForSlot
public void convertForSlot(Object raw, Object dest, Slot slot, ConverterContext ctx) throws LinkMLRuntimeException
Description copied from interface:IConverterConverts a raw object into a LinkML object and assigns the result to a slot of another object.- Specified by:
convertForSlotin interfaceIConverter- Parameters:
raw- The raw object to convert.dest- The object that should received the converted value.slot- The slot of thedestobject to which the converted value should be assigned.ctx- The global converter context.- Throws:
LinkMLRuntimeException- If the converter cannot convert the given value, or cannot assign it to the target object/slot.
-
serialise
public Object serialise(Object object, ConverterContext ctx) throws LinkMLRuntimeException
Description copied from interface:IConverterConverts a LinkML object into a raw object.- Specified by:
serialisein interfaceIConverter- Parameters:
object- The LinkML object to convert.ctx- The global converter context.- Returns:
- The raw object that represents the original LinkML object.
- Throws:
LinkMLRuntimeException- If the converter cannot convert the given object.
-
serialiseForSlot
public Object serialiseForSlot(Object object, Slot slot, ConverterContext ctx) throws LinkMLRuntimeException
Description copied from interface:IConverterConverts a LinkML object into a raw object, when the object is the value of a specific LinkML slot.We need such a method because the way to serialise a LinkML object into a raw object will sometimes depend on the slot to which the object belongs (the slot of which it is a value), especially with respect to inlining.
- Specified by:
serialiseForSlotin interfaceIConverter- Parameters:
object- The LinkML object to convert.slot- The slot that the given object is a value of.ctx- The global converter context.- Returns:
- The raw object that represents the original LinkML object.
- Throws:
LinkMLRuntimeException- If the converter cannot convert the given object.
-
-