org.eclipse.dawnsci.nexus.builder.data.impl.AbstractNexusDataBuilder 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.NXdata;
import org.eclipse.dawnsci.nexus.NXobject;
import org.eclipse.dawnsci.nexus.NexusException;
import org.eclipse.dawnsci.nexus.builder.NexusEntryBuilder;
import org.eclipse.dawnsci.nexus.builder.NexusObjectProvider;
import org.eclipse.dawnsci.nexus.builder.data.DataDeviceBuilder;
import org.eclipse.dawnsci.nexus.builder.data.NexusDataBuilder;
import org.eclipse.dawnsci.nexus.builder.impl.DefaultNexusEntryBuilder;
public abstract class AbstractNexusDataBuilder implements NexusDataBuilder {
protected final NXdata nxData;
protected final NexusEntryBuilder entryBuilder;
/**
* Create a new {@link DefaultNexusDataBuilder}. This constructor should only be
* called by {@link DefaultNexusEntryBuilder}.
* @param entryBuilder parent entry model
* @param nxData {@link NXdata} object to wrap
*/
protected AbstractNexusDataBuilder(NexusEntryBuilder entryBuilder,
final NXdata nxData) {
this.entryBuilder = entryBuilder;
this.nxData = nxData;
}
/* (non-Javadoc)
* @see org.eclipse.dawnsci.nexus.builder.NexusDataBuilder#getNexusData()
*/
@Override
public NXdata getNxData() {
return nxData;
}
/* (non-Javadoc)
* @see org.eclipse.dawnsci.nexus.builder.data.NexusDataBuilder#setPrimaryDevice(org.eclipse.dawnsci.nexus.builder.NexusObjectProvider)
*/
@Override
public void setPrimaryDevice(NexusObjectProvider primaryDevice)
throws NexusException {
setPrimaryDevice(DataDeviceBuilder.newPrimaryDataDevice(primaryDevice));
}
/* (non-Javadoc)
* @see org.eclipse.dawnsci.nexus.builder.data.NexusDataBuilder#addDataDevice(org.eclipse.dawnsci.nexus.builder.NexusObjectProvider)
*/
@Override
public void addAxisDevice(NexusObjectProvider dataDevice) throws NexusException {
addAxisDevice(DataDeviceBuilder.newAxisDataDevice(dataDevice));
}
}