public FixedSizeFrameTupleAppender(int frameSize, ITypeTraits[] fields) { this.frameSize = frameSize; int tmp = 0; for (int i = 0; i < fields.length; i++) { tmp += fields[i].getFixedLength(); } tupleSize = tmp; }
public FixedSizeTupleReference(ITypeTraits[] typeTraits) { this.typeTraits = typeTraits; this.fieldStartOffsets = new int[typeTraits.length]; this.fieldStartOffsets[0] = 0; for (int i = 1; i < typeTraits.length; i++) { fieldStartOffsets[i] = fieldStartOffsets[i - 1] + typeTraits[i - 1].getFixedLength(); } }
public FixedSizeElementInvertedListBuilder(ITypeTraits[] invListFields) { int tmp = 0; for (int i = 0; i < invListFields.length; i++) { tmp += invListFields[i].getFixedLength(); } listElementSize = tmp; }
@Override public int getFieldLength(int tupleIndex, int fIdx) { return fields[fIdx].getFixedLength(); }
public void setLong(long value) { if (bytes == null) { start = 0; length = TYPE_TRAITS.getFixedLength(); bytes = new byte[length]; } setLong(bytes, start, value); }
public void setBoolean(boolean value) { if (bytes == null) { start = 0; length = TYPE_TRAITS.getFixedLength(); bytes = new byte[length]; } setBoolean(bytes, start, value); }
@Override public int getFieldEndOffset(int tupleIndex, int fIdx) { return getTupleStartOffset(tupleIndex) + fieldStartOffsets[fIdx] + fields[fIdx].getFixedLength(); }
@Override public void operateDatetimeDTDuration(XSDateTimePointable datetimep, LongPointable longp, DataOutput dOut) throws SystemException, IOException { // Add duration. abvsInner1.reset(); DateTime.normalizeDateTime(datetimep.getYearMonth(), datetimep.getDayTime() - longp.getLong(), datetimep.getTimezoneHour(), datetimep.getTimezoneMinute(), dOutInner1); dOut.write(ValueTag.XS_DATETIME_TAG); dOut.write(abvsInner1.getByteArray(), abvsInner1.getStartOffset() + 1, XSDateTimePointable.TYPE_TRAITS.getFixedLength()); }
@Override public void operateDatetimeYMDuration(XSDateTimePointable datetimep, IntegerPointable intp, DataOutput dOut) throws SystemException, IOException { // Add duration. abvsInner.reset(); DateTime.normalizeDateTime(datetimep.getYearMonth() + intp.getInteger(), datetimep.getDayTime(), datetimep.getTimezoneHour(), datetimep.getTimezoneMinute(), dOutInner); dOut.write(ValueTag.XS_DATETIME_TAG); dOut.write(abvsInner.getByteArray(), abvsInner.getStartOffset() + 1, XSDateTimePointable.TYPE_TRAITS.getFixedLength()); }
@Override public void operateDatetimeDTDuration(XSDateTimePointable datetimep1, LongPointable longp2, DataOutput dOut) throws SystemException, IOException { // Add duration. abvsInner.reset(); DateTime.normalizeDateTime(datetimep1.getYearMonth(), datetimep1.getDayTime() + longp2.getLong(), datetimep1.getTimezoneHour(), datetimep1.getTimezoneMinute(), dOutInner); dOut.write(ValueTag.XS_DATETIME_TAG); dOut.write(abvsInner.getByteArray(), abvsInner.getStartOffset() + 1, XSDateTimePointable.TYPE_TRAITS.getFixedLength()); }
@Override public void operateIntegerDecimal(LongPointable longp1, XSDecimalPointable decp2, DataOutput dOut) throws SystemException, IOException { abvsInner.reset(); decp1.set(abvsInner.getByteArray(), abvsInner.getStartOffset(), XSDecimalPointable.TYPE_TRAITS.getFixedLength()); decp1.setDecimal(longp1.longValue(), (byte) 0); operateDecimalDecimal(decp1, decp2, dOut); }
@Override public void operateDecimalInteger(XSDecimalPointable decp1, LongPointable longp2, DataOutput dOut) throws SystemException, IOException { abvsInner1.reset(); decp2.set(abvsInner1.getByteArray(), abvsInner1.getStartOffset(), XSDecimalPointable.TYPE_TRAITS.getFixedLength()); decp2.setDecimal(longp2.longValue(), (byte) 0); operateDecimalDecimal(decp1, decp2, dOut); }
@Override public void operateDecimalInteger(XSDecimalPointable decp1, LongPointable longp2, DataOutput dOut) throws SystemException, IOException { abvsInner.reset(); decp2.set(abvsInner.getByteArray(), abvsInner.getStartOffset(), XSDecimalPointable.TYPE_TRAITS.getFixedLength()); decp2.setDecimal(longp2.longValue(), (byte) 0); operateDecimalDecimal(decp1, decp2, dOut); }
@Override public void operateDecimalInteger(XSDecimalPointable decp1, LongPointable longp2, DataOutput dOut) throws SystemException, IOException { abvsInner.reset(); decp2.set(abvsInner.getByteArray(), abvsInner.getStartOffset(), XSDecimalPointable.TYPE_TRAITS.getFixedLength()); decp2.setDecimal(longp2.longValue(), (byte) 0); operateDecimalDecimal(decp1, decp2, dOut); }
@Override public boolean operateIntegerDecimal(LongPointable longp1, XSDecimalPointable decp2) throws SystemException, IOException { abvsInner.reset(); XSDecimalPointable decp1 = (XSDecimalPointable) XSDecimalPointable.FACTORY.createPointable(); decp1.set(abvsInner.getByteArray(), abvsInner.getStartOffset(), XSDecimalPointable.TYPE_TRAITS.getFixedLength()); decp1.setDecimal(longp1.getLong(), (byte) 0); return (decp1.compareTo(decp2) == 0); }
@Override public boolean operateDecimalInteger(XSDecimalPointable decp1, LongPointable longp2) throws SystemException, IOException { abvsInner.reset(); XSDecimalPointable decp2 = (XSDecimalPointable) XSDecimalPointable.FACTORY.createPointable(); decp2.set(abvsInner.getByteArray(), abvsInner.getStartOffset(), XSDecimalPointable.TYPE_TRAITS.getFixedLength()); decp2.setDecimal(longp2.getLong(), (byte) 0); return (decp1.compareTo(decp2) == -1); }
@Override public boolean operateIntegerDecimal(LongPointable longp1, XSDecimalPointable decp2) throws SystemException, IOException { abvsInner.reset(); XSDecimalPointable decp1 = (XSDecimalPointable) XSDecimalPointable.FACTORY.createPointable(); decp1.set(abvsInner.getByteArray(), abvsInner.getStartOffset(), XSDecimalPointable.TYPE_TRAITS.getFixedLength()); decp1.setDecimal(longp1.getLong(), (byte) 0); return (decp1.compareTo(decp2) == -1); }
@Override public void operateDecimalInteger(XSDecimalPointable decp1, LongPointable longp2, DataOutput dOut) throws SystemException, IOException { if (longp2.getLong() == 0) { throw new SystemException(ErrorCode.FOAR0001); } // Convert abvsInner.reset(); decp2.set(abvsInner.getByteArray(), abvsInner.getStartOffset(), XSDecimalPointable.TYPE_TRAITS.getFixedLength()); decp2.setDecimal(longp2.longValue(), (byte) 0); operateDecimalDecimal(decp1, decp2, dOut); }
@Override public void operateIntegerDecimal(LongPointable longp1, XSDecimalPointable decp2, DataOutput dOut) throws SystemException, IOException { if (decp2.getDecimalValue() == 0) { throw new SystemException(ErrorCode.FOAR0001); } abvsInner.reset(); decp1.set(abvsInner.getByteArray(), abvsInner.getStartOffset(), XSDecimalPointable.TYPE_TRAITS.getFixedLength()); decp1.setDecimal(longp1.longValue(), (byte) 0); operateDecimalDecimal(decp1, decp2, dOut); }
@Override public void operateDTDurationDTDuration(LongPointable longp1, LongPointable longp2, DataOutput dOut) throws SystemException, IOException { double value = longp1.longValue(); value /= longp2.longValue(); abvsInner.reset(); doublep.set(abvsInner.getByteArray(), abvsInner.getStartOffset(), DoublePointable.TYPE_TRAITS.getFixedLength()); doublep.setDouble(value); CastToDecimalOperation castToDecmial = new CastToDecimalOperation(); castToDecmial.convertDouble(doublep, dOut); }