package com.airlock.iam.flow.api.domain.model.step;

import com.airlock.iam.base.api.domain.model.plugin.LogicForConfig;
import com.airlock.iam.flow.api.application.configuration.selection.FlowConditionConfig;
import com.airlock.iam.plugin.impl.PluginDisplayNameReader;
import org.apache.commons.lang3.Strings;

@LogicForConfig(FlowConditionConfig.class)
public interface FlowCondition {
   boolean isFulfilled();

   default String displayName() {
      String conditionName = Strings.CS.removeEnd(this.getClass().getSimpleName(), "Condition");
      return PluginDisplayNameReader.pluginDisplayName(conditionName);
   }
}
