Package org.apache.cassandra.db.marshal
Class CounterColumnType
- All Implemented Interfaces:
Comparator<ByteBuffer>,AssignmentTestable
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.cassandra.db.marshal.NumberType
NumberType.NumberArgumentDeserializer<M extends org.apache.commons.lang3.mutable.Mutable<Number>>Nested classes/interfaces inherited from class org.apache.cassandra.db.marshal.AbstractType
AbstractType.ComparisonType, AbstractType.DefaultArgumentDeserializerNested classes/interfaces inherited from interface org.apache.cassandra.cql3.AssignmentTestable
AssignmentTestable.TestResult -
Field Summary
FieldsFields inherited from class org.apache.cassandra.db.marshal.AbstractType
comparatorSet, comparisonType, isByteOrderComparable, reverseComparator -
Method Summary
Modifier and TypeMethodDescriptionTakes the absolute value of the argument.Adds the left argument to the right one.booleanDefines if the type allows an empty set of bytes (new byte[0]) as valid input.<V> Longcompose(V value, ValueAccessor<V> accessor) Divides the left argument by the right one.Raises e to the power of the argument.fromJSONObject(Object parsed) Given a parsed JSON string, return a byte representation of the object.fromString(String source) get a byte representation of the given string.<V> StringgetString(V value, ValueAccessor<V> accessor) get a string representation of the bytes used for various identifier (NOT just for log messages)booleanbooleanTakes the natural logrithm of the argument.Takes the log base 10 of the arguement.Return the remainder.Multiplies the left argument with the right one.Negates the argument.Rounds the argument to the nearest whole number.Substracts the left argument from the right one.toJSONString(ByteBuffer buffer, ProtocolVersion protocolVersion) Converts the specified value into its JSON representation.<V> voidvalidateCellValue(V cellValue, ValueAccessor<V> accessor) Validate cell value.Methods inherited from class org.apache.cassandra.db.marshal.NumberType
isFloatingPointMethods inherited from class org.apache.cassandra.db.marshal.AbstractType
asComparableBytes, asComparableBytes, asCQLTypeStringList, checkComparable, compare, compare, compareCollectionMembers, compareCustom, compareForCQL, compose, decomposeUntyped, expandUserTypes, freeze, freezeNestedMulticellTypes, fromComparableBytes, fromComparableBytes, getCompatibleTypeIfKnown, getComponents, getString, getString, isCollection, isCompatibleWith, isFreezable, isFrozenCollection, isMultiCell, isNull, isNull, isReversed, isSerializationCompatibleWith, isTuple, isUDT, isValueCompatibleWith, isValueCompatibleWithInternal, isValueLengthFixed, isVector, parseDefaultParameters, read, readArray, readBuffer, readBuffer, referencesDuration, referencesUserType, referencesUserType, skipValue, subTypes, testAssignment, testAssignment, toCQLString, toJSONString, toString, toString, udfType, unfreeze, unwrap, validate, validate, validateCollectionMember, valueLengthIfFixed, withUpdatedUserType, writeValue, writeValue, writtenLength, writtenLengthMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Comparator
equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
-
Field Details
-
instance
-
-
Method Details
-
allowsEmpty
public boolean allowsEmpty()Description copied from class:AbstractTypeDefines if the type allows an empty set of bytes (new byte[0]) as valid input. TheAbstractType.validate(Object, ValueAccessor)andAbstractType.compose(Object, ValueAccessor)methods must allow empty bytes when this returns true, and must reject empty bytes when this is false. As of this writing, the main user of this API is for testing to know what types allow empty values and what types don't, so that the data that gets generated understands whenByteBufferUtil.EMPTY_BYTE_BUFFERis allowed as valid data.- Overrides:
allowsEmptyin classAbstractType<Long>
-
isEmptyValueMeaningless
public boolean isEmptyValueMeaningless()Description copied from class:AbstractType- Overrides:
isEmptyValueMeaninglessin classAbstractType<Long>
-
isCounter
public boolean isCounter()- Overrides:
isCounterin classAbstractType<Long>
-
compose
- Overrides:
composein classAbstractType<Long>
-
decompose
- Overrides:
decomposein classAbstractType<Long>
-
validateCellValue
Description copied from class:AbstractTypeValidate cell value. Unlike AbstractType.validate(java.nio.ByteBuffer), cell value is passed to validate its content. Usually, this is the same as validate except collection.- Overrides:
validateCellValuein classAbstractType<Long>- Parameters:
cellValue- ByteBuffer representing cell value- Throws:
MarshalException
-
getString
Description copied from class:AbstractTypeget a string representation of the bytes used for various identifier (NOT just for log messages)- Overrides:
getStringin classAbstractType<Long>
-
fromString
Description copied from class:AbstractTypeget a byte representation of the given string.- Specified by:
fromStringin classAbstractType<Long>
-
fromJSONObject
Description copied from class:AbstractTypeGiven a parsed JSON string, return a byte representation of the object.- Specified by:
fromJSONObjectin classAbstractType<Long>- Parameters:
parsed- the result of parsing a json string
-
toJSONString
Description copied from class:AbstractTypeConverts the specified value into its JSON representation.The buffer position will stay the same.
- Overrides:
toJSONStringin classAbstractType<Long>- Parameters:
buffer- the value to convertprotocolVersion- the protocol version to use for the conversion- Returns:
- a JSON string representing the specified value
-
asCQL3Type
- Overrides:
asCQL3Typein classAbstractType<Long>
-
getSerializer
- Specified by:
getSerializerin classAbstractType<Long>
-
getArgumentDeserializer
- Overrides:
getArgumentDeserializerin classAbstractType<Long>- Returns:
- the deserializer used to deserialize the function arguments of this type.
-
add
Description copied from class:NumberTypeAdds the left argument to the right one.- Specified by:
addin classNumberType<Long>- Parameters:
left- the left argumentright- the right argument- Returns:
- the addition result
-
substract
Description copied from class:NumberTypeSubstracts the left argument from the right one.- Specified by:
substractin classNumberType<Long>- Parameters:
left- the left argumentright- the right argument- Returns:
- the substraction result
-
multiply
Description copied from class:NumberTypeMultiplies the left argument with the right one.- Specified by:
multiplyin classNumberType<Long>- Parameters:
left- the left argumentright- the right argument- Returns:
- the multiplication result
-
divide
Description copied from class:NumberTypeDivides the left argument by the right one.- Specified by:
dividein classNumberType<Long>- Parameters:
left- the left argumentright- the right argument- Returns:
- the division result
-
mod
Description copied from class:NumberTypeReturn the remainder.- Specified by:
modin classNumberType<Long>- Parameters:
left- the left argumentright- the right argument- Returns:
- the remainder
-
negate
Description copied from class:NumberTypeNegates the argument.- Specified by:
negatein classNumberType<Long>- Parameters:
input- the argument to negate- Returns:
- the negated argument
-
abs
Description copied from class:NumberTypeTakes the absolute value of the argument.- Specified by:
absin classNumberType<Long>- Parameters:
input- the argument to take the absolute value of- Returns:
- a ByteBuffer containing the absolute value of the argument. The type of the contents of the ByteBuffer will match that of the input.
-
exp
Description copied from class:NumberTypeRaises e to the power of the argument.- Specified by:
expin classNumberType<Long>- Parameters:
input- the argument to raise e to- Returns:
- a ByteBuffer containg the value of e (the base of natural logarithms) raised to the power of the argument. The type of the contents of the ByteBuffer will be a double, unless the input is a DecimalType or IntegerType, in which the ByteBuffer will contain a DecimalType.
-
log
Description copied from class:NumberTypeTakes the natural logrithm of the argument.- Specified by:
login classNumberType<Long>- Parameters:
input- the argument to take the natural log (ln) of- Returns:
- a ByteBuffer containg the log base e (ln) of the argument. The type of the contents of the ByteBuffer will be a double, unless the input is a DecimalType or IntegerType, in which the ByteBuffer will contain a DecimalType.
-
log10
Description copied from class:NumberTypeTakes the log base 10 of the arguement.- Specified by:
log10in classNumberType<Long>- Parameters:
input- the argument to take the log base ten of- Returns:
- a ByteBuffer containg the log base 10 of the argument. The type of the contents of the ByteBuffer will be a double, unless the input is a DecimalType or IntegerType, in which the ByteBuffer will contain a DecimalType.
-
round
Description copied from class:NumberTypeRounds the argument to the nearest whole number.- Specified by:
roundin classNumberType<Long>- Parameters:
input- the argument to round- Returns:
- a ByteBuffer containg the rounded argument. If the input is an integral type, the ByteBuffer will contain a copy of the input. If the input is a float, the ByteBuffer will contain an int32. If the input is a double, the output will contain a long. If the input is a DecimalType, the output will contain an IntegerType.
-
getMaskedValue
- Overrides:
getMaskedValuein classAbstractType<Long>- Returns:
- A fixed, serialized value to be used when the column is masked, to be returned instead of the real value.
-