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

net.amygdalum.testrecorder.serializers.EnumSerializer Maven / Gradle / Ivy

package net.amygdalum.testrecorder.serializers;

import static java.util.Collections.emptyList;
import static net.amygdalum.testrecorder.util.Types.baseType;

import java.util.List;
import java.util.stream.Stream;

import net.amygdalum.testrecorder.types.Serializer;
import net.amygdalum.testrecorder.types.SerializerSession;
import net.amygdalum.testrecorder.values.SerializedEnum;

public class EnumSerializer implements Serializer {

	public EnumSerializer() {
	}

	@Override
	public List> getMatchingClasses() {
		return emptyList();
	}

	@Override
	public Stream components(Object object, SerializerSession session) {
		return Stream.empty();
	}

	@Override
	public SerializedEnum generate(Class type, SerializerSession session) {
		while (!baseType(type).isEnum()) {
			type = baseType(type).getSuperclass();
		}
		return new SerializedEnum(type);
	}

	@Override
	public void populate(SerializedEnum serializedEnum, Object object, SerializerSession session) {
		Enum e = (Enum) object;
		serializedEnum.setName(e.name());
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy