![JAR search and dependency download from the Maven repository](/logo.png)
org.hotrod.metadata.KeyMetadata Maven / Gradle / Ivy
The newest version!
package org.hotrod.metadata;
import java.io.Serializable;
import java.util.List;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.nocrala.tools.lang.collector.listcollector.ListWriter;
public class KeyMetadata implements Serializable {
private static final long serialVersionUID = 1L;
private static final Logger log = LogManager.getLogger(KeyMetadata.class);
private TableDataSetMetadata tm;
private List columns;
public KeyMetadata(final TableDataSetMetadata tm, final List columns) {
log.debug("init");
this.tm = tm;
this.columns = columns;
}
void linkReferencedDataSet(final TableDataSetMetadata tm) {
this.tm = tm;
}
// Getters
public TableDataSetMetadata getTableMetadata() {
return tm;
}
public List getColumns() {
return columns;
}
// Indexing methods
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((tm == null) ? 0 : tm.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
KeyMetadata other = (KeyMetadata) obj;
if (tm == null) {
if (other.tm != null)
return false;
} else if (!tm.equals(other.tm)) {
return false;
}
return equals(this.columns, other.columns);
}
private boolean equals(final List a, final List b) {
if (a.size() != b.size()) {
return false;
}
for (int i = 0; i < a.size(); i++) {
if (!a.get(i).equals(b.get(i))) {
return false;
}
}
return true;
}
// Utilities
public String toCamelCase(final String columnSeam) {
ListWriter lw = new ListWriter(columnSeam == null ? "" : columnSeam);
for (ColumnMetadata km : this.columns) {
lw.add(km.getId().getJavaClassName());
}
return lw.toString();
}
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(this.tm.getId().getRenderedSQLName());
sb.append("(");
ListWriter w = new ListWriter(",");
for (ColumnMetadata cm : this.columns) {
w.add(cm.getColumnName());
}
sb.append(w.toString());
sb.append(")");
return sb.toString();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy