package org.archstudio.bna.keys;
import org.archstudio.bna.IThing;
import com.google.common.collect.Lists;
abstract class AbstractThingRefMetakey<T extends IThing, N, K extends IThingKey<?>> extends AbstractThingRefKey<T>
implements IThingRefMetakey<T, N, K> {
protected final N name;
protected final K key;
protected AbstractThingRefMetakey(N name, K key, boolean nullable) {
super(Lists.newArrayList(key, name), nullable);
this.name = name;
this.key = key;
}
@Override
public N getName() {
return name;
}
@Override
public K getKey() {
return key;
}
}