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

io.github.linuxforhealth.core.expression.VariableUtils Maven / Gradle / Ivy

/*
 * (C) Copyright IBM Corp. 2020
 *
 * SPDX-License-Identifier: Apache-2.0
 */
package io.github.linuxforhealth.core.expression;

import org.apache.commons.lang3.StringUtils;
import org.apache.commons.text.StringTokenizer;

public class VariableUtils {

  private VariableUtils() {}

  public static boolean isVar(String hl7spec) {
    return StringUtils.isNotBlank(hl7spec) && hl7spec.startsWith("$") && hl7spec.length() > 1;
  }


  public static String getVarName(String name) {
    String varName = name;
    if (isVar(name) && StringUtils.contains(name, ".")) {
      StringTokenizer stk = new StringTokenizer(name, ".");
      varName = StringUtils.removeStart(stk.nextToken(), "$");
    } else if (isVar(name)) {
      varName = StringUtils.removeStart(name, "$");
    }

    if (StringUtils.endsWith(varName, "?")) {
      varName = StringUtils.removeEnd(varName, "?");
    }
    return varName;
  }

  public static boolean isFuzzyMatch(String value) {
    return StringUtils.isNotBlank(value) && value.endsWith("?");
  }




}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy