=====Long Value Object=====
com.ergotech.vib.valueobjects.LongValueObject
===Description===
The Long Value Object (sometimes referred to as "LVO") is a type of Value Object which is used to hold a whole number (non-floating point). This includes the java types boolean, byte, short, integer, and long, in order of byte size.
Some manipulators will take any numeric input and generate a Long Value Object output. For example, Round, Floor, and Ceiling will all generate a Long Value Object output from either decimal or non-decimal numeric inputs. PLC servers of the Int type will produce LongValueObjects.
If you need Long Value Objects for testing, you can use the Increment Server (IncrementServer), Extreme Server (ExtremeServer), Synchronized Clock Tick (SynchronizedClockTick) or Random Boolean (RandomBoolean) test Data Sources.
===JavaScript Notes===
Example 1: Create a Long Value Object with value "22"
var LongValueObject = Java.type("com.ergotech.vib.valueobjects.LongValueObject");
myLVO = new LongValueObject(22);
Example 2: Add two integer values from two data sources named "Value1" and "Value2"
var LongValueObject = Java.type("com.ergotech.vib.valueobjects.LongValueObject");
value1 = Value1 -> getLongValue();
value2 = Value2 -> getLongValue();
LVO = new LongValueObject(value1+value2);
See also the examples in this article: [[createvalueobjectscripts| Creating Value Objects in Scripts]]
===Storing a Specific Data Type===
LongValueObject can store java types boolean,byte,short,int, and long. By default when a new LongValueObject is created, the type is long. To force a specific type to be stored (in case you need to return this value as a specific type), create an Long object and get the value as a specific type:
var LongValueObject = Java.type("com.ergotech.vib.valueobjects.LongValueObject");
var Long = Java.type("java.lang.Long");
javaLong = new Long(100);
//now you can get any java type for this value (if it is in range)
byteValue = javaLong.byteValue(); //java byte
shortValue = javaLong.shortValue(); //java short
longValue = javaLong.intValue(); //java int
intValue = javaLong.longValue(); //java long
//create the LongValueObject and with a specific type
vo = new LongValueObject(shortValue); //stores the value as a short in the LongValueObject