
prerna.reactor.frame.FrameHeaderExistsReactor Maven / Gradle / Ivy
The newest version!
package prerna.reactor.frame;
import java.util.List;
import prerna.algorithm.api.ITableDataFrame;
import prerna.sablecc2.om.GenRowStruct;
import prerna.sablecc2.om.PixelDataType;
import prerna.sablecc2.om.ReactorKeysEnum;
import prerna.sablecc2.om.nounmeta.NounMetadata;
public class FrameHeaderExistsReactor extends AbstractFrameReactor {
public FrameHeaderExistsReactor() {
this.keysToGet = new String[] { ReactorKeysEnum.FRAME.getKey(), ReactorKeysEnum.COLUMN.getKey() };
}
@Override
public NounMetadata execute() {
// get the frame
ITableDataFrame dm = getFrame();
// get the types of the headers requested
String header = getHeader();
List aliasNames = dm.getMetaData().getOrderedAliasOrUniqueNames();
List qsNames = dm.getMetaData().getFrameSelectors();
// compare against both
boolean hasHeader = false;
if(aliasNames.contains(header) || qsNames.contains(header)) {
hasHeader = true;
}
NounMetadata noun = new NounMetadata(hasHeader, PixelDataType.BOOLEAN);
return noun;
}
/**
* Getting the frame that is required
* @return
*/
private String getHeader() {
GenRowStruct colGrs = this.store.getNoun(this.keysToGet[1]);
if(colGrs != null && !colGrs.isEmpty()) {
return (String) colGrs.get(0);
}
List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy