Package org.epics.pvdata.factory
Class BasePVDoubleArray
- java.lang.Object
-
- org.epics.pvdata.factory.AbstractPVField
-
- org.epics.pvdata.factory.AbstractPVArray
-
- org.epics.pvdata.factory.AbstractPVScalarArray
-
- org.epics.pvdata.factory.BasePVDoubleArray
-
- All Implemented Interfaces:
PVArray,PVDoubleArray,PVField,PVNumberArray,PVScalarArray,Serializable,SerializableArray
public class BasePVDoubleArray extends AbstractPVScalarArray implements PVDoubleArray
Base class for implementing PVDoubleArray.- Author:
- mrk
-
-
Field Summary
Fields Modifier and Type Field Description protected double[]value-
Fields inherited from class org.epics.pvdata.factory.AbstractPVArray
capacity, capacityMutable, length
-
Fields inherited from class org.epics.pvdata.factory.AbstractPVField
convert
-
-
Constructor Summary
Constructors Constructor Description BasePVDoubleArray(ScalarArray array)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidallocate(int newCapacity)org.epics.util.array.ArrayDoubleget()Returns an unmodifiable view of the data.intget(int offset, int len, DoubleArrayData data)Get values from a PVDoubleArray and put them into double[]toprotected intgetFromBuffer(ByteBuffer buffer, DeserializableControl control, int offset, int length)protected ObjectgetValue()inthashCode()intput(int offset, int len, double[] from, int fromOffset)Put values into a PVDoubleArray from double[]fromprotected intputToBuffer(ByteBuffer buffer, SerializableControl control, int offset, int length)protected voidsetValue(Object array)voidshareData(double[] from)Share the data from caller.protected booleanvalueEquals(Object obj)-
Methods inherited from class org.epics.pvdata.factory.AbstractPVScalarArray
deserialize, getElementSize, getScalarArray, serialize
-
Methods inherited from class org.epics.pvdata.factory.AbstractPVArray
equals, getArray, getCapacity, getLength, internalGet, internalPut, internalShareData, isCapacityMutable, put, serialize, setCapacity, setCapacityMutable, setImmutable, setLength
-
Methods inherited from class org.epics.pvdata.factory.AbstractPVField
changeField, getField, getFieldName, getFieldOffset, getFullName, getNextFieldOffset, getNumberFields, getParent, isImmutable, postPut, setData, setPostHandler, toString, toString, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.epics.pvdata.pv.PVArray
getArray, getCapacity, getLength, isCapacityMutable, setCapacity, setCapacityMutable, setLength
-
Methods inherited from interface org.epics.pvdata.pv.PVField
getField, getFieldName, getFieldOffset, getFullName, getNextFieldOffset, getNumberFields, getParent, isImmutable, postPut, setImmutable, setPostHandler, toString, toString, toString
-
Methods inherited from interface org.epics.pvdata.pv.PVNumberArray
put
-
Methods inherited from interface org.epics.pvdata.pv.PVScalarArray
getScalarArray
-
Methods inherited from interface org.epics.pvdata.pv.Serializable
deserialize, serialize
-
Methods inherited from interface org.epics.pvdata.pv.SerializableArray
serialize
-
-
-
-
Constructor Detail
-
BasePVDoubleArray
public BasePVDoubleArray(ScalarArray array)
Constructor.- Parameters:
array- The introspection interface.
-
-
Method Detail
-
allocate
protected void allocate(int newCapacity)
- Specified by:
allocatein classAbstractPVArray
-
getValue
protected Object getValue()
- Specified by:
getValuein classAbstractPVArray
-
setValue
protected void setValue(Object array)
- Specified by:
setValuein classAbstractPVArray
-
putToBuffer
protected int putToBuffer(ByteBuffer buffer, SerializableControl control, int offset, int length)
- Specified by:
putToBufferin classAbstractPVScalarArray
-
getFromBuffer
protected int getFromBuffer(ByteBuffer buffer, DeserializableControl control, int offset, int length)
- Specified by:
getFromBufferin classAbstractPVScalarArray
-
get
public int get(int offset, int len, DoubleArrayData data)Description copied from interface:PVDoubleArrayGet values from a PVDoubleArray and put them into double[]to- Specified by:
getin interfacePVDoubleArray- Parameters:
offset- the offset to the first element to getlen- the maximum number of elements to transferdata- the class containing the data and an offset into the data. Get sets these values. The caller must do the actual data transfer.- Returns:
- the number of elements that can be transfered. This is always less than or equal to length. If the value is less then length then get should be called again. If the return value is greater than 0 then data.data is a reference to the array and data.offset is the offset into the array.
-
get
public org.epics.util.array.ArrayDouble get()
Description copied from interface:PVDoubleArrayReturns an unmodifiable view of the data.- Specified by:
getin interfacePVDoubleArray- Specified by:
getin interfacePVNumberArray- Returns:
- an unmodifiable view of the data
-
put
public int put(int offset, int len, double[] from, int fromOffset)Description copied from interface:PVDoubleArrayPut values into a PVDoubleArray from double[]from- Specified by:
putin interfacePVDoubleArray- Parameters:
offset- the offset to the first element to put.len- the maximum number of elements to transferfrom- the array from which to get the datafromOffset- the offset into from- Returns:
- the number of elements transfered. This is always less than or equal to length. If the value is less than the length then put should be called again.
-
shareData
public void shareData(double[] from)
Description copied from interface:PVDoubleArrayShare the data from caller. The capacity and length are taken from the array and this array is made immutable. This should only be used to share immutable data.- Specified by:
shareDatain interfacePVDoubleArray- Parameters:
from- the data to share
-
valueEquals
protected boolean valueEquals(Object obj)
- Specified by:
valueEqualsin classAbstractPVArray
-
-