/*
* 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.metamodel.aspect.sql.SqlColumnSetAspect;
/**
* ColumnSetRecordImpl
*
* @since 8.0
*/
public class ColumnSetRecordImpl extends org.teiid.designer.metadata.runtime.impl.ColumnSetRecordImpl {
private static final long serialVersionUID = -2311057386266603525L;
/**
* Flags to determine if values have been set.
*/
private boolean columnIDsSet;
// ==================================================================================
// C O N S T R U C T O R S
// ==================================================================================
public ColumnSetRecordImpl(final SqlColumnSetAspect sqlAspect, final EObject eObject, final char recordType) {
super(new ModelerMetadataRecordDelegate(sqlAspect, eObject));
setRecordType(recordType);
this.eObject = eObject;
}
private SqlColumnSetAspect getColumnSetAspect() {
return (SqlColumnSetAspect) ((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.ColumnSetRecord#getColumnIDs()
*/
@Override
public List getColumnIDs() {
if((EObject)super.eObject != null && !columnIDsSet) {
List columns = getColumnSetAspect().getColumns((EObject)super.eObject);
setColumnIDs(((ModelerMetadataRecordDelegate)this.delegate).getObjectIDs(columns));
}
return super.getColumnIDs();
}
/**
* @param list
*/
@Override
public void setColumnIDs(List list) {
super.setColumnIDs(list);
columnIDsSet = true;
}
}