/**
*
*/
package com.sap.furcas.runtime.common.interfaces;
import java.util.List;
/**
* wraps an entity consisting of a reference to a metamodel element and its qualified name.
*/
public class ResolvedNameAndReferenceBean<EType> {
private List<String> names;
private EType reference;
private List<String> operators;
public ResolvedNameAndReferenceBean(List<String> name, EType reference) {
super();
if (name == null && reference == null) {
throw new IllegalArgumentException("both arguments null not allowed");
}
this.names = name;
this.reference = reference;
}
public ResolvedNameAndReferenceBean(List<String> names, EType reference, List<String> ops) {
this(names, reference);
this.operators = ops;
}
public List<String> getNames() {
return names;
}
public List<String> getOperators() {
return operators;
}
public String getNameUnqualified() {
// return last element
if (names != null && names.size() > 0) {
return names.get(names.size()-1);
} else {
return null;
}
}
public EType getReference() {
return reference;
}
@Override
public boolean equals(Object obj) {
if (obj instanceof ResolvedNameAndReferenceBean) {
ResolvedNameAndReferenceBean<?> other = (ResolvedNameAndReferenceBean<?>) obj;
if (other.getNames() != null) {
return other.getNames().equals(this.getNames());
} else {
return this.getNames() == null;
}
}
return false;
}
@Override
public String toString() {
return this.getNames().toString() + "; isResolved = "+ (this.getReference() != null);
}
}