net.java.ao.atlassian.AtlassianIndexNameConverter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of activeobjects-core Show documentation
Show all versions of activeobjects-core Show documentation
This is the core library for Active Objects. It is generic and can be embedded in any environment.
As such it is generic and won't contain all connection pooling, etc.
package net.java.ao.atlassian;
import net.java.ao.schema.DefaultIndexNameConverter;
import net.java.ao.schema.IndexNameConverter;
import java.util.Objects;
import static net.java.ao.Common.prefix;
import static net.java.ao.Common.shorten;
public final class AtlassianIndexNameConverter implements IndexNameConverter {
private final IndexNameConverter delegate;
public AtlassianIndexNameConverter() {
this(new DefaultIndexNameConverter());
}
public AtlassianIndexNameConverter(IndexNameConverter delegate) {
this.delegate = Objects.requireNonNull(delegate,"delegate can't be null");
}
@Override
public String getName(String tableName, String columnName) {
return shorten(delegate.getName(tableName, columnName), ConverterUtils.MAX_LENGTH);
}
@Override
public String getPrefix(String tableName) {
return prefix(delegate.getPrefix(tableName), ConverterUtils.MAX_LENGTH);
}
}