@Override public boolean isCoercibleTo(PDataType targetType) { return targetType.equals(this) || PUnsignedSmallint.INSTANCE.isCoercibleTo(targetType) || PTinyint.INSTANCE.isCoercibleTo(targetType); }
@Override public boolean isCoercibleTo(PDataType targetType) { return targetType.equals(this) || targetType.equals(PUnsignedFloat.INSTANCE) || PUnsignedLong.INSTANCE.isCoercibleTo(targetType) || PInteger.INSTANCE.isCoercibleTo(targetType); }
@Override public Object toObject(byte[] bytes, int offset, int length, PDataType actualType, SortOrder sortOrder, Integer maxLength, Integer scale) { if (!actualType.isCoercibleTo(this)) { throwConstraintViolationException(actualType, this); } return PVarbinary.INSTANCE.toObject(bytes, offset, length, actualType, sortOrder); }
@Override public boolean isCoercibleTo(PDataType targetType) { return targetType.equals(this) || PUnsignedInt.INSTANCE.isCoercibleTo(targetType) || PSmallint.INSTANCE .isCoercibleTo(targetType); }
public PhoenixArray(PhoenixArray pArr, Integer desiredMaxLength) { this.baseType = pArr.baseType; Object[] elements = (Object[])pArr.array; if (baseType.isFixedWidth()) { if (baseType.getByteSize() == null) { elements = coerceToNewLength(baseType, (Object[])pArr.array, desiredMaxLength); maxLength = desiredMaxLength; } } this.array = convertObjectArrayToPrimitiveArray(elements); this.numElements = elements.length; }
@Override public boolean isCoercibleTo(PDataType targetType) { return this.equals(targetType) || PUnsignedDouble.INSTANCE.isCoercibleTo(targetType) || PFloat.INSTANCE .isCoercibleTo(targetType); }
@Override public Object toObject(Object object, PDataType actualType) { Integer v = (Integer) PInteger.INSTANCE.toObject(object, actualType); throwIfNonNegativeNumber(v); return v; }
@Override public boolean isCoercibleTo(PDataType targetType, Object value) { if (isCoercibleTo(targetType)) { if (targetType.equals(PChar.INSTANCE)) { return value != null; } return true; } return false; }
@Override public int encodeShort(short v, byte[] b, int o) { checkForSufficientLength(b, o, Bytes.SIZEOF_BYTE); if (v < Byte.MIN_VALUE || v > Byte.MAX_VALUE) { throw newIllegalDataException( "Value " + v + " cannot be encoded as an Byte without changing its value"); } return encodeByte((byte) v, b, o); }
@Override public boolean isCoercibleTo(PDataType targetType, Object value) { return super.isCoercibleTo(targetType, value) || PDouble.INSTANCE .isCoercibleTo(targetType, value); }
@Override public Object toObject(Object object, PDataType actualType) { java.sql.Time t = (java.sql.Time) PTime.INSTANCE.toObject(object, actualType); throwIfNonNegativeDate(t); return t; }
@Override public Object toObject(Object object, PDataType actualType) { java.sql.Timestamp ts = (java.sql.Timestamp) super.toObject(object, actualType); throwIfNonNegativeDate(ts); return ts; }
@Override public Object toObject(byte[] b, int o, int l, PDataType actualType, SortOrder sortOrder, Integer maxLength, Integer scale) { Long v = (Long) PLong.INSTANCE.toObject(b, o, l, actualType, sortOrder); throwIfNonNegativeNumber(v); return v; }
public PhoenixArrayFactory getArrayFactory() { if (getCodec() != null) return getCodec().getPhoenixArrayFactory(); else return DEFAULT_ARRAY_FACTORY; }
@Override public Object toObject(byte[] b, int o, int l, PDataType actualType, SortOrder sortOrder, Integer maxLength, Integer scale) { Date d = (Date) PDate.INSTANCE.toObject(b, o, l, actualType, sortOrder); throwIfNonNegativeDate(d); return d; }
@Override public Object toObject(byte[] b, int o, int l, PDataType actualType, SortOrder sortOrder, Integer maxLength, Integer scale) { Short v = (Short) PSmallint.INSTANCE.toObject(b, o, l, actualType, sortOrder); throwIfNonNegativeNumber(v); return v; }
@Override public byte decodeByte(byte[] b, int o, SortOrder sortOrder) { float v = decodeFloat(b, o, sortOrder); if (v < Byte.MIN_VALUE || v > Byte.MAX_VALUE) { throw newIllegalDataException( "Value " + v + " cannot be cast to Byte without changing its value"); } return (byte) v; }
@Override public int encodeDouble(double v, byte[] b, int o) { if (v < Long.MIN_VALUE || v > Long.MAX_VALUE) { throw newIllegalDataException( "Value " + v + " cannot be encoded as an Long without changing its value"); } return encodeLong((long) v, b, o); }
@Override public int encodeDouble(double v, byte[] b, int o) { if (v < Short.MIN_VALUE || v > Short.MAX_VALUE) { throw newIllegalDataException("Value " + v + " cannot be encoded as an Short without changing its value"); } return encodeShort((short)v,b,o); }
@Override public Object toObject(byte[] b, int o, int l, PDataType actualType, SortOrder sortOrder, Integer maxLength, Integer scale) { Integer v = (Integer) PInteger.INSTANCE.toObject(b, o, l, actualType, sortOrder); throwIfNonNegativeNumber(v); return v; }