net.intelie.pipes.ModuleContext Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pipes-api Show documentation
Show all versions of pipes-api Show documentation
Intelie Pipes' API classes and interfaces
package net.intelie.pipes;
import java.io.Serializable;
import java.util.Objects;
public class ModuleContext implements Serializable {
private static final long serialVersionUID = 1L;
private final String name;
private final String displayName;
private final String url;
public ModuleContext() {
this("");
}
public ModuleContext(String name) {
this(name, name);
}
public ModuleContext(String name, String displayName) {
this(name, displayName, null);
}
public ModuleContext(String name, String displayName, String url) {
this.name = name;
this.displayName = displayName;
this.url = url;
}
public static String prefixName(String prefix, String name) {
if (prefix == null || prefix.isEmpty()) return name;
if (name == null || name.isEmpty()) return prefix;
StringBuilder pipePrefix = new StringBuilder();
while (pipePrefix.length() < name.length() && name.charAt(pipePrefix.length()) == '@')
pipePrefix.append('@');
return pipePrefix.toString() + prefix + "." + name.substring(pipePrefix.length());
}
public boolean isDefault() {
return name == null || name.isEmpty();
}
public String getName() {
return name;
}
public String getDisplayName() {
return displayName;
}
public String getUrl() {
return url;
}
public String resolveName(String name) {
return prefixName(this.name, name);
}
public String augmentDescription(String description) {
if (Objects.equals(name, displayName))
return description;
return "(module '" + displayName + "') " + description;
}
}