org.apache.cassandra.cql3

## Class SingleColumnRelation

- java.lang.Object
- - org.apache.cassandra.cql3.Relation
  - - org.apache.cassandra.cql3.SingleColumnRelation

    public final class SingleColumnRelation
    extends Relation

Relations encapsulate the relationship between an entity of some kind, and a value (term). For example, <key> > "start" or "colname1" = "somevalue".

### Field Summary

### Fields inherited from class org.apache.cassandra.cql3.Relation

`relationType`

### Constructor Summary

Constructors
Constructor and Description
`SingleColumnRelation(ColumnIdentifier.Raw entity, Operator type, Term.Raw value)` Creates a new relation.
`SingleColumnRelation(ColumnIdentifier.Raw entity, Term.Raw mapKey, Operator type, Term.Raw value)` Creates a new relation.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`static SingleColumnRelation` `createInRelation(ColumnIdentifier.Raw entity, java.util.List<Term.Raw> inValues)`
`ColumnIdentifier.Raw` `getEntity()`
`Term.Raw` `getMapKey()`
`protected Restriction` `newContainsRestriction(CFMetaData cfm, VariableSpecifications boundNames, boolean isKey)` Creates a new Contains restriction instance.
`protected Restriction` `newEQRestriction(CFMetaData cfm, VariableSpecifications boundNames)` Creates a new EQ restriction instance.
`protected Restriction` `newINRestriction(CFMetaData cfm, VariableSpecifications boundNames)` Creates a new IN restriction instance.
`protected Restriction` `newSliceRestriction(CFMetaData cfm, VariableSpecifications boundNames, Bound bound, boolean inclusive)` Creates a new Slice restriction instance.
`java.lang.String` `toString()`
`protected Term` `toTerm(java.util.List<? extends ColumnSpecification> receivers, Term.Raw raw, java.lang.String keyspace, VariableSpecifications boundNames)` Converts the specified `Raw` into a `Term`.
`SingleColumnRelation` `withNonStrictOperator()`

### Methods inherited from class org.apache.cassandra.cql3.Relation

`isContains, isContainsKey, isEQ, isIN, isMultiColumn, isSlice, onToken, operator, toColumnDefinition, toRestriction, toTerms`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### SingleColumnRelation

    public SingleColumnRelation(ColumnIdentifier.Raw entity,
                                Term.Raw mapKey,
                                Operator type,
                                Term.Raw value)

Creates a new relation.

Parameters:
  `entity` - the kind of relation this is; what the term is being compared to.
  `mapKey` - the key into the entity identifying the value the term is being compared to.
  `type` - the type that describes how this entity relates to the value.
  `value` - the value being compared.

#### SingleColumnRelation

    public SingleColumnRelation(ColumnIdentifier.Raw entity,
                                Operator type,
                                Term.Raw value)

Creates a new relation.

Parameters:
  `entity` - the kind of relation this is; what the term is being compared to.
  `type` - the type that describes how this entity relates to the value.
  `value` - the value being compared.

### Method Detail

#### createInRelation

    public static SingleColumnRelation createInRelation(ColumnIdentifier.Raw entity,
                                                        java.util.List<Term.Raw> inValues)

#### getEntity

    public ColumnIdentifier.Raw getEntity()

#### getMapKey

    public Term.Raw getMapKey()

#### toTerm

    protected Term toTerm(java.util.List<? extends ColumnSpecification> receivers,
                          Term.Raw raw,
                          java.lang.String keyspace,
                          VariableSpecifications boundNames)
                   throws InvalidRequestException

Description copied from class: `Relation`
Converts the specified `Raw` into a `Term`.

Specified by:
  `toTerm` in class `Relation`
Parameters:
  `receivers` - the columns to which the values must be associated at
  `raw` - the raw term to convert
  `keyspace` - the keyspace name
  `boundNames` - the variables specification where to collect the bind variables
Returns:
  the `Term` corresponding to the specified `Raw`
Throws:
  `InvalidRequestException` - if the `Raw` term is not valid

#### withNonStrictOperator

    public SingleColumnRelation withNonStrictOperator()

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`

#### newEQRestriction

    protected Restriction newEQRestriction(CFMetaData cfm,
                                           VariableSpecifications boundNames)
                                    throws InvalidRequestException

Description copied from class: `Relation`
Creates a new EQ restriction instance.

Specified by:
  `newEQRestriction` in class `Relation`
Parameters:
  `cfm` - the Column Family meta data
  `boundNames` - the variables specification where to collect the bind variables
Returns:
  a new EQ restriction instance.
Throws:
  `InvalidRequestException` - if the relation cannot be converted into an EQ restriction.

#### newINRestriction

    protected Restriction newINRestriction(CFMetaData cfm,
                                           VariableSpecifications boundNames)
                                    throws InvalidRequestException

Description copied from class: `Relation`
Creates a new IN restriction instance.

Specified by:
  `newINRestriction` in class `Relation`
Parameters:
  `cfm` - the Column Family meta data
  `boundNames` - the variables specification where to collect the bind variables
Returns:
  a new IN restriction instance
Throws:
  `InvalidRequestException` - if the relation cannot be converted into an IN restriction.

#### newSliceRestriction

    protected Restriction newSliceRestriction(CFMetaData cfm,
                                              VariableSpecifications boundNames,
                                              Bound bound,
                                              boolean inclusive)
                                       throws InvalidRequestException

Description copied from class: `Relation`
Creates a new Slice restriction instance.

Specified by:
  `newSliceRestriction` in class `Relation`
Parameters:
  `cfm` - the Column Family meta data
  `boundNames` - the variables specification where to collect the bind variables
  `bound` - the slice bound
  `inclusive` - `true` if the bound is included.
Returns:
  a new slice restriction instance
Throws:
  `InvalidRequestException` - if the `Relation` is not valid

#### newContainsRestriction

    protected Restriction newContainsRestriction(CFMetaData cfm,
                                                 VariableSpecifications boundNames,
                                                 boolean isKey)
                                          throws InvalidRequestException

Description copied from class: `Relation`
Creates a new Contains restriction instance.

Specified by:
  `newContainsRestriction` in class `Relation`
Parameters:
  `cfm` - the Column Family meta data
  `boundNames` - the variables specification where to collect the bind variables
  `isKey` - `true` if the restriction to create is a CONTAINS KEY
Returns:
  a new Contains `Restriction` instance
Throws:
  `InvalidRequestException` - if the `Relation` is not valid