FailIfNotFoundVariantResolver.java

  1. package fr.sii.ogham.template.common.adapter;

  2. import fr.sii.ogham.core.message.capability.HasVariant;
  3. import fr.sii.ogham.core.message.content.TemplateContent;
  4. import fr.sii.ogham.core.message.content.Variant;
  5. import fr.sii.ogham.core.resource.path.ResourcePath;
  6. import fr.sii.ogham.template.exception.VariantResolutionException;

  7. public class FailIfNotFoundVariantResolver implements VariantResolver {

  8.     @Override
  9.     public ResourcePath getRealPath(TemplateContent template) throws VariantResolutionException {
  10.         if (!(template instanceof HasVariant)) {
  11.             return template.getPath();
  12.         }
  13.         Variant variant = ((HasVariant) template).getVariant();
  14.         throw new VariantResolutionException("Failed to resolve variant (" + variant + ") for template "+template.getPath().getOriginalPath(), template.getPath(), template.getContext(), variant);
  15.     }

  16.     /**
  17.      * Returns true to make it fail
  18.      */
  19.     @Override
  20.     public boolean variantExists(TemplateContent template) {
  21.         return true;
  22.     }

  23. }