All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.dawnsci.nexus.builder.data.impl.PrimaryDataDeviceImpl Maven / Gradle / Ivy

/*-
 *******************************************************************************
 * Copyright (c) 2011, 2016 Diamond Light Source Ltd.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *    Matthew Gerring - initial API and implementation and/or initial documentation
 *******************************************************************************/
package org.eclipse.dawnsci.nexus.builder.data.impl;

import org.eclipse.dawnsci.nexus.NXobject;
import org.eclipse.dawnsci.nexus.builder.data.PrimaryDataDevice;

public class PrimaryDataDeviceImpl extends DataDeviceImpl implements PrimaryDataDevice {

	private final String signalFieldSourceName;
	
	private final DataFieldModel signalFieldModel;
	
	public PrimaryDataDeviceImpl(N nexusObject, DataFieldModel signalFieldModel) {
		super(nexusObject);
		this.signalFieldSourceName = signalFieldModel.getSourceFieldName();
		this.signalFieldModel = signalFieldModel;
	}
	
	@Override
	public String getSignalFieldSourceName() {
		return signalFieldModel.getSourceFieldName();
	}
	
	@Override
	public int getFieldRank(String sourceFieldName) {
		if (sourceFieldName.equals(signalFieldSourceName)) {
			return signalFieldModel.getFieldRank();
		}
		
		return super.getFieldRank(sourceFieldName);
	}
	
	@Override
	public String getDestinationFieldName(String sourceFieldName) {
		if (sourceFieldName.equals(signalFieldSourceName)) {
			return signalFieldModel.getDestinationFieldName();
		}
		
		return super.getDestinationFieldName(sourceFieldName);
	}
	
	protected void appendFields(StringBuilder sb) {
		sb.append(",  signalField=");
		sb.append(signalFieldModel);
		sb.append("\n");
		
		super.appendFields(sb);
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy