/*
* JBoss, Home of Professional Open Source.
*
* See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing.
*
* See the AUTHORS.txt file distributed with this work for a full listing of individual contributors.
*/
package org.teiid.designer.metadata.runtime.impl;
import org.teiid.core.designer.util.ModelType;
import org.teiid.designer.metadata.runtime.ModelRecord;
/**
* ModelRecordImpl
*
* @since 8.0
*/
public class ModelRecordImpl extends AbstractMetadataRecord implements ModelRecord {
/**
*/
private static final long serialVersionUID = 1L;
private int modelType;
private int maxSetSize;
private boolean isVisible;
private boolean supportsDistinct;
private boolean supportsJoin;
private boolean supportsOrderBy;
private boolean supportsOuterJoin;
private boolean supportsWhereAll;
private String primaryMetamodelUri;
public ModelRecordImpl() {
this(new MetadataRecordDelegate());
}
protected ModelRecordImpl( MetadataRecordDelegate delegate ) {
this.delegate = delegate;
}
// ==================================================================================
// I N T E R F A C E M E T H O D S
// ==================================================================================
/**
* @see org.teiid.designer.metadata.runtime.ModelRecord#getPrimaryMetamodelUri()
*/
@Override
public String getPrimaryMetamodelUri() {
return primaryMetamodelUri;
}
/* (non-Javadoc)
* @see org.teiid.designer.metadata.runtime.ModelRecord#getMaxSetSize()
*/
@Override
public int getMaxSetSize() {
return maxSetSize;
}
/* (non-Javadoc)
* @see org.teiid.designer.metadata.runtime.ModelRecord#isVisible()
*/
@Override
public boolean isVisible() {
return isVisible;
}
/* (non-Javadoc)
* @see org.teiid.designer.metadata.runtime.ModelRecord#supportsDistinct()
*/
@Override
public boolean supportsDistinct() {
return supportsDistinct;
}
/* (non-Javadoc)
* @see org.teiid.designer.metadata.runtime.ModelRecord#supportsJoin()
*/
@Override
public boolean supportsJoin() {
return supportsJoin;
}
/* (non-Javadoc)
* @see org.teiid.designer.metadata.runtime.ModelRecord#supportsOrderBy()
*/
@Override
public boolean supportsOrderBy() {
return supportsOrderBy;
}
/* (non-Javadoc)
* @see org.teiid.designer.metadata.runtime.ModelRecord#supportsOuterJoin()
*/
@Override
public boolean supportsOuterJoin() {
return supportsOuterJoin;
}
/* (non-Javadoc)
* @see org.teiid.designer.metadata.runtime.ModelRecord#supportsWhereAll()
*/
@Override
public boolean supportsWhereAll() {
return supportsWhereAll;
}
/* (non-Javadoc)
* @see org.teiid.designer.metadata.runtime.ModelRecord#getModelType()
*/
@Override
public int getModelType() {
return modelType;
}
/* (non-Javadoc)
* @see org.teiid.designer.metadata.runtime.ModelRecord#isPhysical()
*/
@Override
public boolean isPhysical() {
if (getModelType() == ModelType.PHYSICAL) {
return true;
}
return false;
}
// ==================================================================================
// P U B L I C M E T H O D S
// ==================================================================================
/**
* @param string
*/
public void setPrimaryMetamodelUri( String string ) {
primaryMetamodelUri = string;
}
/**
* @param b
*/
public void setVisible( boolean b ) {
isVisible = b;
}
/**
* @param i
*/
public void setMaxSetSize( int i ) {
maxSetSize = i;
}
/**
* @param b
*/
public void setSupportsDistinct( boolean b ) {
supportsDistinct = b;
}
/**
* @param b
*/
public void setSupportsJoin( boolean b ) {
supportsJoin = b;
}
/**
* @param b
*/
public void setSupportsOrderBy( boolean b ) {
supportsOrderBy = b;
}
/**
* @param b
*/
public void setSupportsOuterJoin( boolean b ) {
supportsOuterJoin = b;
}
/**
* @param b
*/
public void setSupportsWhereAll( boolean b ) {
supportsWhereAll = b;
}
/**
* @param i
*/
public void setModelType( int i ) {
modelType = i;
}
@Override
public String toString() {
StringBuffer sb = new StringBuffer(100);
sb.append(getClass().getSimpleName());
sb.append(" name="); //$NON-NLS-1$
sb.append(getName());
sb.append(", nameInSource="); //$NON-NLS-1$
sb.append(getNameInSource());
sb.append(", uuid="); //$NON-NLS-1$
sb.append(getUUID());
sb.append(", pathInModel="); //$NON-NLS-1$
sb.append(getPath());
return sb.toString();
}
}