package com.linkedin.thirdeye.rootcause.impl; import com.linkedin.thirdeye.rootcause.Entity; import org.apache.commons.lang.StringUtils; /** * Wrapper class for URN prefix based typing of Entity. */ public final class EntityType { private final String prefix; public String getPrefix() { return prefix; } public EntityType(String prefix) { if(!prefix.endsWith(":")) throw new IllegalArgumentException("Prefix must end with ':'"); this.prefix = prefix; } public String formatURN(Object... values) { return this.prefix + StringUtils.join(values, ":"); } public boolean isType(String urn) { return urn.startsWith(this.prefix); } public boolean isType(Entity e) { return e.getUrn().startsWith(this.prefix); } }