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

com.enofex.naikan.model.serializer.SerializerFactory Maven / Gradle / Ivy

package com.enofex.naikan.model.serializer;

import com.enofex.naikan.model.BomSchema;
import java.util.ServiceLoader;

public final class SerializerFactory {

  private SerializerFactory() {
  }

  public static Serializer newJsonSerializer() {
    return loadJsonSerializer(BomSchema.VERSION_LATEST);
  }

  public static Serializer newJsonSerializer(BomSchema.Version version) {
    return loadJsonSerializer(version);
  }

  private static Serializer loadJsonSerializer(BomSchema.Version version) {
    ServiceLoader serializers = ServiceLoader.load(Serializer.class);

    for (Serializer serializer : serializers) {
      if (serializer.supports("json") && serializer.getSchemaVersion() == version) {
        return serializer;
      }
    }

    return null;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy