/*
* 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 java.util.List;
import org.teiid.designer.metadata.runtime.MetadataConstants;
import org.teiid.designer.metadata.runtime.ProcedureRecord;
/**
* ProcedureRecordImpl
*
* @since 8.0
*/
public class ProcedureRecordImpl extends AbstractMetadataRecord implements ProcedureRecord {
/**
*/
private static final long serialVersionUID = 1L;
private List parameterIDs;
private boolean isFunction;
private boolean isVirtual;
private Object resultSetID;
private int updateCount;
// ==================================================================================
// C O N S T R U C T O R S
// ==================================================================================
public ProcedureRecordImpl() {
this(new MetadataRecordDelegate());
}
protected ProcedureRecordImpl(MetadataRecordDelegate delegate) {
this.delegate = delegate;
}
/*
* @see org.teiid.designer.metadata.runtime.ProcedureRecord#getParameterIDs()
*/
@Override
public List getParameterIDs() {
return parameterIDs;
}
/*
* @see org.teiid.designer.metadata.runtime.ProcedureRecord#isFunction()
*/
@Override
public boolean isFunction() {
return isFunction;
}
/*
* @see org.teiid.designer.metadata.runtime.ProcedureRecord#isVirtual()
*/
@Override
public boolean isVirtual() {
return this.isVirtual;
}
/*
* @see org.teiid.designer.metadata.runtime.ProcedureRecord#getResultSetID()
*/
@Override
public Object getResultSetID() {
return resultSetID;
}
/*
* @see org.teiid.designer.metadata.runtime.ProcedureRecord#getType()
*/
@Override
public short getType() {
return this.getProcedureType();
}
/**
* @see org.teiid.designer.metadata.runtime.ProcedureRecord#getUpdateCount()
* @since 5.5.3
*/
@Override
public int getUpdateCount() {
return this.updateCount;
}
/**
* @param list
*/
public void setParameterIDs(List list) {
parameterIDs = list;
}
/**
* @param object
*/
public void setResultSetID(Object object) {
resultSetID = object;
}
/**
* @param b
*/
public void setFunction(boolean b) {
isFunction = b;
}
/**
* @param b
*/
public void setVirtual(boolean b) {
isVirtual = b;
}
public void setUpdateCount(int count) {
this.updateCount = count;
}
protected short getProcedureType() {
if (isFunction()) {
return MetadataConstants.PROCEDURE_TYPES.FUNCTION;
}
if (isVirtual()) {
return MetadataConstants.PROCEDURE_TYPES.STORED_QUERY;
}
return MetadataConstants.PROCEDURE_TYPES.STORED_PROCEDURE;
}
}