/*
* 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.core.metadata.runtime;
import java.util.List;
import org.eclipse.emf.ecore.EObject;
import org.teiid.designer.core.index.IndexConstants;
import org.teiid.designer.core.metamodel.aspect.sql.SqlVdbAspect;
/**
* ModelRecordImpl
*
* @since 8.0
*/
public class VdbRecordImpl extends org.teiid.designer.metadata.runtime.impl.VdbRecordImpl {
private static final long serialVersionUID = 6533785711718123816L;
/**
* Flags to determine if values have been set.
*/
private boolean versionSet;
private boolean identifierSet;
private boolean descriptionSet;
private boolean producerNameSet;
private boolean producerVersionSet;
private boolean providerSet;
private boolean timeLastChangedSet;
private boolean timeLastProducedSet;
private boolean modelIDsSet;
// ==================================================================================
// C O N S T R U C T O R S
// ==================================================================================
public VdbRecordImpl(final SqlVdbAspect sqlAspect, final EObject eObject) {
super(new ModelerMetadataRecordDelegate(sqlAspect, eObject));
setRecordType(IndexConstants.RECORD_TYPE.VDB_ARCHIVE);
this.eObject = eObject;
}
private SqlVdbAspect getVdbAspect() {
return (SqlVdbAspect) ((ModelerMetadataRecordDelegate)this.delegate).getSqlAspect();
}
//==================================================================================
// I N T E R F A C E M E T H O D S
//==================================================================================
/**
* @see org.teiid.designer.metadata.runtime.VdbRecord#getDescription()
*/
@Override
public String getDescription() {
if(eObject != null && !descriptionSet) {
setDescription(getVdbAspect().getDescription((EObject)eObject));
}
return super.getDescription();
}
/**
* @see org.teiid.designer.metadata.runtime.VdbRecord#getIdentifier()
*/
@Override
public String getIdentifier() {
if(eObject != null && !identifierSet) {
setIdentifier(getVdbAspect().getIdentifier((EObject)eObject));
}
return super.getIdentifier();
}
/**
* @see org.teiid.designer.metadata.runtime.VdbRecord#getModelIDs()
*/
@Override
public List getModelIDs() {
if(eObject != null && !modelIDsSet) {
setModelIDs(getVdbAspect().getModelIDs((EObject)eObject));
}
return super.getModelIDs();
}
/**
* @see org.teiid.designer.metadata.runtime.VdbRecord#getProducerName()
*/
@Override
public String getProducerName() {
if(eObject != null && !producerNameSet) {
setProducerName(getVdbAspect().getProducerName((EObject)eObject));
}
return super.getProducerName();
}
/**
* @see org.teiid.designer.metadata.runtime.VdbRecord#getProducerVersion()
*/
@Override
public String getProducerVersion() {
if(eObject != null && !producerVersionSet) {
setProducerVersion(getVdbAspect().getProducerVersion((EObject)eObject));
}
return super.getProducerVersion();
}
/**
* @see org.teiid.designer.metadata.runtime.VdbRecord#getProvider()
*/
@Override
public String getProvider() {
if(eObject != null && !providerSet) {
setProvider(getVdbAspect().getProvider((EObject)eObject));
}
return super.getProvider();
}
/**
* @see org.teiid.designer.metadata.runtime.VdbRecord#getTimeLastChanged()
*/
@Override
public String getTimeLastChanged() {
if(eObject != null && !timeLastChangedSet) {
setTimeLastChanged(getVdbAspect().getTimeLastChanged((EObject)eObject));
}
return super.getTimeLastChanged();
}
/**
* @see org.teiid.designer.metadata.runtime.VdbRecord#getTimeLastProduced()
*/
@Override
public String getTimeLastProduced() {
if(eObject != null && !timeLastProducedSet) {
setTimeLastProduced(getVdbAspect().getTimeLastProduced((EObject)eObject));
}
return super.getTimeLastProduced();
}
/**
* @see org.teiid.designer.metadata.runtime.VdbRecord#getVersion()
*/
@Override
public String getVersion() {
if(eObject != null && !versionSet) {
setVersion(getVdbAspect().getVersion((EObject)eObject));
}
return super.getVersion();
}
// ==================================================================================
// P U B L I C M E T H O D S
// ==================================================================================
/**
* @param string
*/
@Override
public void setDescription(String string) {
super.setDescription(string);
descriptionSet = true;
}
/**
* @param string
*/
@Override
public void setIdentifier(String string) {
super.setIdentifier(string);
identifierSet = true;
}
/**
* @param list
*/
@Override
public void setModelIDs(List list) {
super.setModelIDs(list);
modelIDsSet = true;
}
/**
* @param string
*/
@Override
public void setProducerName(String string) {
super.setProducerName(string);
producerNameSet = true;
}
/**
* @param string
*/
@Override
public void setProducerVersion(String string) {
super.setProducerVersion(string);
producerVersionSet = true;
}
/**
* @param string
*/
@Override
public void setProvider(String string) {
super.setProvider(string);
providerSet = true;
}
/**
* @param string
*/
@Override
public void setTimeLastChanged(String string) {
super.setTimeLastChanged(string);
timeLastChangedSet = true;
}
/**
* @param string
*/
@Override
public void setTimeLastProduced(String string) {
super.setTimeLastProduced(string);
timeLastProducedSet = true;
}
/**
* @param string
*/
@Override
public void setVersion(String string) {
super.setVersion(string);
versionSet = true;
}
}