Package org.epics.pvdata.factory
Class BasePVStringArray
- java.lang.Object
-
- org.epics.pvdata.factory.AbstractPVField
-
- org.epics.pvdata.factory.AbstractPVArray
-
- org.epics.pvdata.factory.AbstractPVScalarArray
-
- org.epics.pvdata.factory.BasePVStringArray
-
- All Implemented Interfaces:
PVArray,PVField,PVScalarArray,PVStringArray,Serializable,SerializableArray
public class BasePVStringArray extends AbstractPVScalarArray implements PVStringArray
Base class for implementing PVStringArray.- Author:
- mrk
-
-
Field Summary
Fields Modifier and Type Field Description protected String[]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 BasePVStringArray(ScalarArray array)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidallocate(int newCapacity)intget(int offset, int len, StringArrayData data)Get values from a PVStringArray and put them into String[]to.protected intgetFromBuffer(ByteBuffer buffer, DeserializableControl control, int offset, int length)protected ObjectgetValue()inthashCode()intput(int offset, int len, String[] from, int fromOffset)Put values into a PVStringArray from String[]from.protected intputToBuffer(ByteBuffer buffer, SerializableControl control, int offset, int length)protected voidsetValue(Object array)voidshareData(String[] 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.PVScalarArray
getScalarArray
-
Methods inherited from interface org.epics.pvdata.pv.Serializable
deserialize, serialize
-
Methods inherited from interface org.epics.pvdata.pv.SerializableArray
serialize
-
-
-
-
Field Detail
-
value
protected String[] value
-
-
Constructor Detail
-
BasePVStringArray
public BasePVStringArray(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, StringArrayData data)Description copied from interface:PVStringArrayGet values from a PVStringArray and put them into String[]to.- Specified by:
getin interfacePVStringArray- Parameters:
offset- The offset to the first element to get.len- The maximum number of elements to transfer.data- 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 than the length then put 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.
-
put
public int put(int offset, int len, String[] from, int fromOffset)Description copied from interface:PVStringArrayPut values into a PVStringArray from String[]from.- Specified by:
putin interfacePVStringArray- Parameters:
offset- The offset to the first element to put.len- The maximum number of elements to transfer.from- The array from which to get the data.fromOffset- The offset into from.- Returns:
- The number of elements transfered. This is always less than or equal to length. If the value is less then length then put should be called again.
-
shareData
public void shareData(String[] from)
Description copied from interface:PVStringArrayShare 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 interfacePVStringArray- Parameters:
from- The data to share.
-
valueEquals
protected boolean valueEquals(Object obj)
- Specified by:
valueEqualsin classAbstractPVArray
-
-