/*
* Copyright (c) 2017 OBiBa. All rights reserved.
*
* This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.obiba.magma.datasource.mongodb;
import java.util.List;
import java.util.Locale;
import java.util.Set;
import javax.annotation.Nullable;
import javax.validation.constraints.NotNull;
import org.obiba.magma.Attribute;
import org.obiba.magma.Category;
import org.obiba.magma.NoSuchAttributeException;
import org.obiba.magma.Value;
import org.obiba.magma.ValueTable;
import org.obiba.magma.ValueType;
import org.obiba.magma.Variable;
import com.google.common.base.Objects;
public class MongoDBVariable implements Variable {
private final String id;
private final Variable variable;
public MongoDBVariable(Variable variable, String id) {
this.variable = variable;
this.id = id;
}
public String getId() {
return id;
}
@Override
public boolean hasAttributes() {
return variable.hasAttributes();
}
@Override
public boolean hasAttribute(String name) {
return variable.hasAttribute(name);
}
@Override
public boolean hasAttribute(String namespace, @Nullable String name) {
return variable.hasAttribute(namespace, name);
}
@Override
public Attribute getAttribute(String name) throws NoSuchAttributeException {
return variable.getAttribute(name);
}
@Override
public String getName() {
return variable.getName();
}
@Override
public String getEntityType() {
return variable.getEntityType();
}
@Override
public Attribute getAttribute(String namespace, String name) throws NoSuchAttributeException {
return variable.getAttribute(namespace, name);
}
@Override
public boolean hasAttribute(String name, Locale locale) {
return variable.hasAttribute(name, locale);
}
@Override
public boolean hasAttribute(String namespace, String name, Locale locale) {
return variable.hasAttribute(namespace, name, locale);
}
@Override
public Attribute getAttribute(String name, Locale locale) throws NoSuchAttributeException {
return variable.getAttribute(name, locale);
}
@Override
public boolean isForEntityType(String type) {
return variable.isForEntityType(type);
}
@Override
public Attribute getAttribute(String namespace, String name, Locale locale) throws NoSuchAttributeException {
return variable.getAttribute(namespace, name, locale);
}
@Override
public Value getAttributeValue(String name) throws NoSuchAttributeException {
return variable.getAttributeValue(name);
}
@Override
public Value getAttributeValue(String namespace, String name) throws NoSuchAttributeException {
return variable.getAttributeValue(namespace, name);
}
@Override
public boolean isRepeatable() {
return variable.isRepeatable();
}
@Override
public String getAttributeStringValue(String name) throws NoSuchAttributeException {
return variable.getAttributeStringValue(name);
}
@Override
public String getAttributeStringValue(String namespace, String name) throws NoSuchAttributeException {
return variable.getAttributeStringValue(namespace, name);
}
@Override
public String getOccurrenceGroup() {
return variable.getOccurrenceGroup();
}
@Override
public List<Attribute> getAttributes(String name) throws NoSuchAttributeException {
return variable.getAttributes(name);
}
@Override
public ValueType getValueType() {
return variable.getValueType();
}
@Override
public List<Attribute> getAttributes(String namespace, String name) throws NoSuchAttributeException {
return variable.getAttributes(namespace, name);
}
@Override
public String getUnit() {
return variable.getUnit();
}
@Override
public List<Attribute> getNamespaceAttributes(String namespace) throws NoSuchAttributeException {
return variable.getNamespaceAttributes(namespace);
}
@Override
public String getMimeType() {
return variable.getMimeType();
}
@Override
public List<Attribute> getAttributes() {
return variable.getAttributes();
}
@Override
public String getReferencedEntityType() {
return variable.getReferencedEntityType();
}
@Override
public int getIndex() {
return variable.getIndex();
}
@Override
public boolean hasCategories() {
return variable.hasCategories();
}
@Nullable
@Override
public Category getCategory(String categoryName) {
return variable.getCategory(categoryName);
}
@Override
public Set<Category> getCategories() {
return variable.getCategories();
}
@Override
public boolean isMissingValue(Value value) {
return variable.isMissingValue(value);
}
@Override
public boolean areAllCategoriesMissing() {
return variable.areAllCategoriesMissing();
}
@Override
public String getVariableReference(@NotNull ValueTable table) {
return variable.getVariableReference(table);
}
@Override
public String toString() {
return Objects.toStringHelper(this).add("id", id).addValue(variable).toString();
}
}