Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions driver/src/main/java/org/neo4j/driver/Value.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
* <code>typeValue</code> methods. The first set of these correlate with types from
* the Neo4j Type System and are used to determine which Neo4j type is represented.
* The second set of methods perform coercions to Java types (wherever possible).
* For example, a common Text value should be tested for using <code>isText</code>
* For example, a common String value should be tested for using <code>isString</code>
* and extracted using <code>stringValue</code>.
*
* <h2>Navigating a tree structure</h2>
Expand Down Expand Up @@ -166,8 +166,8 @@ public interface Value extends Iterable<Value>
*/
Iterable<String> keys();

/** @return true if the underlying value is a Neo4j text value */
boolean isText();
/** @return true if the underlying value is a Neo4j string value */
boolean isString();

/** @return if the underlying value is a Neo4j 64-bit integer */
boolean isInteger();
Expand Down
12 changes: 6 additions & 6 deletions driver/src/main/java/org/neo4j/driver/Values.java
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
import org.neo4j.driver.internal.value.NodeValue;
import org.neo4j.driver.internal.value.PathValue;
import org.neo4j.driver.internal.value.RelationshipValue;
import org.neo4j.driver.internal.value.TextValue;
import org.neo4j.driver.internal.value.StringValue;

/**
* Utility for wrapping regular Java types and exposing them as {@link org.neo4j.driver.Value}
Expand Down Expand Up @@ -146,15 +146,15 @@ public static Value value( double[] val )

public static Value value( char[] val )
{
return new TextValue( new String( val ) );
return new StringValue( new String( val ) );
}

public static Value value( String[] val )
{
TextValue[] values = new TextValue[val.length];
StringValue[] values = new StringValue[val.length];
for ( int i = 0; i < val.length; i++ )
{
values[i] = new TextValue( val[i] );
values[i] = new StringValue( val[i] );
}
return new ListValue( values );
}
Expand Down Expand Up @@ -206,12 +206,12 @@ public static Value value( final boolean val )

public static Value value( final char val )
{
return new TextValue( Character.toString( val ) );
return new StringValue( Character.toString( val ) );
}

public static Value value( final String val )
{
return new TextValue( val );
return new StringValue( val );
}

public static Value value( final Map<String,Object> val )
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,7 @@ else if ( value.isFloat() )
{
packer.pack( value.javaDouble() );
}
else if ( value.isText() )
else if ( value.isString() )
{
packer.pack( value.javaString() );
}
Expand Down Expand Up @@ -501,7 +501,7 @@ private Value unpackValue() throws IOException
return value( unpacker.unpackLong() );
case FLOAT:
return value( unpacker.unpackDouble() );
case TEXT:
case STRING:
return value( unpacker.unpackString() );
case MAP:
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@
import java.util.List;
import java.util.Map;

import org.neo4j.driver.Value;

import static java.lang.Integer.toHexString;
import static java.lang.String.format;
import static java.util.Arrays.asList;
Expand All @@ -44,7 +42,7 @@
* <table>
* <tr><th>Marker</th><th>Binary</th><th>Type</th><th>Description</th></tr>
* <tr><td><code>00..7F</code></td><td><code>0xxxxxxx</code></td><td>+TINY_INT</td><td>Integer 0 to 127</td></tr>
* <tr><td><code>80..8F</code></td><td><code>1000xxxx</code></td><td>TINY_TEXT</td><td></td></tr>
* <tr><td><code>80..8F</code></td><td><code>1000xxxx</code></td><td>TINY_STRING</td><td></td></tr>
* <tr><td><code>90..9F</code></td><td><code>1001xxxx</code></td><td>TINY_LIST</td><td></td></tr>
* <tr><td><code>A0..AF</code></td><td><code>1010xxxx</code></td><td>TINY_MAP</td><td></td></tr>
* <tr><td><code>B0..BF</code></td><td><code>1011xxxx</code></td><td>TINY_STRUCT</td><td></td></tr>
Expand All @@ -61,9 +59,9 @@
* <tr><td><code>CD</code></td><td><code>11001101</code></td><td>BYTES_16</td><td>Byte string (fewer than 2<sup>16</sup> bytes)</td></tr>
* <tr><td><code>CE</code></td><td><code>11001110</code></td><td>BYTES_32</td><td>Byte string (fewer than 2<sup>32</sup> bytes)</td></tr>
* <tr><td><code>CF</code></td><td><code>11001111</code></td><td><em>RESERVED</em></td><td></td></tr>
* <tr><td><code>D0</code></td><td><code>11010000</code></td><td>TEXT_8</td><td>UTF-8 encoded text string (fewer than 2<sup>8</sup> bytes)</td></tr>
* <tr><td><code>D1</code></td><td><code>11010001</code></td><td>TEXT_16</td><td>UTF-8 encoded text string (fewer than 2<sup>16</sup> bytes)</td></tr>
* <tr><td><code>D2</code></td><td><code>11010010</code></td><td>TEXT_32</td><td>UTF-8 encoded text string (fewer than 2<sup>32</sup> bytes)</td></tr>
* <tr><td><code>D0</code></td><td><code>11010000</code></td><td>STRING_8</td><td>UTF-8 encoded string (fewer than 2<sup>8</sup> bytes)</td></tr>
* <tr><td><code>D1</code></td><td><code>11010001</code></td><td>STRING_16</td><td>UTF-8 encoded string (fewer than 2<sup>16</sup> bytes)</td></tr>
* <tr><td><code>D2</code></td><td><code>11010010</code></td><td>STRING_32</td><td>UTF-8 encoded string (fewer than 2<sup>32</sup> bytes)</td></tr>
* <tr><td><code>D3</code></td><td><code>11010011</code></td><td><em>RESERVED</em></td><td></td></tr>
* <tr><td><code>D4</code></td><td><code>11010100</code></td><td>LIST_8</td><td>List (fewer than 2<sup>8</sup> items)</td></tr>
* <tr><td><code>D5</code></td><td><code>11010101</code></td><td>LIST_16</td><td>List (fewer than 2<sup>16</sup> items)</td></tr>
Expand All @@ -85,7 +83,7 @@
public class PackStream
{

public static final byte TINY_TEXT = (byte) 0x80;
public static final byte TINY_STRING = (byte) 0x80;
public static final byte TINY_LIST = (byte) 0x90;
public static final byte TINY_MAP = (byte) 0xA0;
public static final byte TINY_STRUCT = (byte) 0xB0;
Expand All @@ -105,9 +103,9 @@ public class PackStream
public static final byte BYTES_16 = (byte) 0xCD;
public static final byte BYTES_32 = (byte) 0xCE;
public static final byte RESERVED_CF = (byte) 0xCF;
public static final byte TEXT_8 = (byte) 0xD0;
public static final byte TEXT_16 = (byte) 0xD1;
public static final byte TEXT_32 = (byte) 0xD2;
public static final byte STRING_8 = (byte) 0xD0;
public static final byte STRING_16 = (byte) 0xD1;
public static final byte STRING_32 = (byte) 0xD2;
public static final byte RESERVED_D3 = (byte) 0xD3;
public static final byte LIST_8 = (byte) 0xD4;
public static final byte LIST_16 = (byte) 0xD5;
Expand Down Expand Up @@ -242,17 +240,17 @@ public void pack( String value ) throws IOException
else
{
byte[] utf8 = value.getBytes( UTF_8 );
packTextHeader( utf8.length );
packStringHeader( utf8.length );
packRaw( utf8 );
}
}

public void packText( byte[] utf8 ) throws IOException
public void packString( byte[] utf8 ) throws IOException
{
if ( utf8 == null ) { packNull(); }
else
{
packTextHeader( utf8.length );
packStringHeader( utf8.length );
packRaw( utf8 );
}
}
Expand Down Expand Up @@ -329,25 +327,25 @@ else if ( size <= Short.MAX_VALUE )
}
}

public void packTextHeader( int size ) throws IOException
public void packStringHeader( int size ) throws IOException
{
if ( size < 0x10 )
{
out.writeByte( (byte) (TINY_TEXT | size) );
out.writeByte( (byte) (TINY_STRING | size) );
}
else if ( size <= Byte.MAX_VALUE )
{
out.writeByte( TEXT_8 )
out.writeByte( STRING_8 )
.writeByte( (byte) size );
}
else if ( size <= Short.MAX_VALUE )
{
out.writeByte( TEXT_16 )
out.writeByte( STRING_16 )
.writeShort( (short) size );
}
else
{
out.writeByte( TEXT_32 )
out.writeByte( STRING_32 )
.writeInt( size );
}
}
Expand Down Expand Up @@ -537,7 +535,7 @@ public double unpackDouble() throws IOException
public String unpackString() throws IOException
{
final byte markerByte = in.readByte();
if( markerByte == TINY_TEXT ) // Note no mask, so we compare to 0x80.
if( markerByte == TINY_STRING ) // Note no mask, so we compare to 0x80.
{
return EMPTY_STRING;
}
Expand Down Expand Up @@ -591,12 +589,12 @@ private byte[] unpackUtf8(byte markerByte) throws IOException
final byte markerHighNibble = (byte) (markerByte & 0xF0);
final byte markerLowNibble = (byte) (markerByte & 0x0F);

if ( markerHighNibble == TINY_TEXT ) { return unpackBytes( markerLowNibble ); }
if ( markerHighNibble == TINY_STRING ) { return unpackBytes( markerLowNibble ); }
switch(markerByte)
{
case TEXT_8: return unpackBytes( unpackUINT8() );
case TEXT_16: return unpackBytes( unpackUINT16() );
case TEXT_32:
case STRING_8: return unpackBytes( unpackUINT8() );
case STRING_16: return unpackBytes( unpackUINT16() );
case STRING_32:
{
long size = unpackUINT32();
if ( size <= Integer.MAX_VALUE )
Expand All @@ -605,7 +603,7 @@ private byte[] unpackUtf8(byte markerByte) throws IOException
}
else
{
throw new Overflow( "TEXT_32 too long for Java" );
throw new Overflow( "STRING_32 too long for Java" );
}
}
default: throw new Unexpected( "Expected a string, but got: 0x" + toHexString( markerByte & 0xFF ));
Expand Down Expand Up @@ -655,7 +653,7 @@ public PackType peekNextType() throws IOException

switch(markerHighNibble)
{
case TINY_TEXT: return PackType.TEXT;
case TINY_STRING: return PackType.STRING;
case TINY_LIST: return PackType.LIST;
case TINY_MAP: return PackType.MAP;
case TINY_STRUCT: return PackType.STRUCT;
Expand All @@ -674,10 +672,10 @@ public PackType peekNextType() throws IOException
case BYTES_16:
case BYTES_32:
return PackType.BYTES;
case TEXT_8:
case TEXT_16:
case TEXT_32:
return PackType.TEXT;
case STRING_8:
case STRING_16:
case STRING_32:
return PackType.STRING;
case LIST_8:
case LIST_16:
case LIST_32:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,6 @@

public enum PackType
{
NULL, BOOLEAN, INTEGER, FLOAT, BYTES, TEXT, LIST, MAP, STRUCT
NULL, BOOLEAN, INTEGER, FLOAT, BYTES,
STRING, LIST, MAP, STRUCT
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@
*/
package org.neo4j.driver.internal.value;

public class TextValue extends ValueAdapter
public class StringValue extends ValueAdapter
{
private final String val;

public TextValue( String val )
public StringValue( String val )
{
assert val != null;
this.val = val;
Expand All @@ -41,7 +41,7 @@ public String javaString()
}

@Override
public boolean isText()
public boolean isString()
{
return true;
}
Expand Down Expand Up @@ -70,7 +70,7 @@ public boolean equals( Object o )
return false;
}

TextValue values = (TextValue) o;
StringValue values = (StringValue) o;

return val.equals( values.val );

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ public Iterable<String> keys()
}

@Override
public boolean isText()
public boolean isString()
{
return false;
}
Expand Down Expand Up @@ -209,7 +209,7 @@ protected String typeName()
if ( isFloat() ) { return "float"; }
if ( isInteger() ) { return "integer"; }
if ( isBoolean() ) { return "boolean"; }
if ( isText() ) { return "text"; }
if ( isString() ) { return "string"; }
if ( isList() ) { return "list"; }
if ( isMap() ) { return "map"; }
if ( isIdentity() ) { return "identity"; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ public void shouldBeAbleToSetAndReturnCharacterProperty()
for ( Record record : result.retain() )
{
Value value = record.get( "a.value" );
assertThat( value.isText(), equalTo( true ) );
assertThat( value.isString(), equalTo( true ) );
assertThat( value.javaString(), equalTo( "ö" ) );
}

Expand All @@ -170,7 +170,7 @@ public void shouldBeAbleToSetAndReturnCharacterArrayProperty()
for ( Record record : result.retain() )
{
Value value = record.get( "a.value" );
assertThat( value.isText(), equalTo( true ) );
assertThat( value.isString(), equalTo( true ) );
assertThat( value.javaString(), equalTo( "Mjölnir" ) );
}

Expand All @@ -187,7 +187,7 @@ public void shouldBeAbleToSetAndReturnStringProperty()
for ( Record record : result.retain() )
{
Value value = record.get( "a.value" );
assertThat( value.isText(), equalTo( true ) );
assertThat( value.isString(), equalTo( true ) );
assertThat( value.javaString(), equalTo( "Mjölnir" ) );
}

Expand Down Expand Up @@ -278,7 +278,7 @@ public void shouldBeAbleToSetAndReturnSpecialStringArrayProperty()
assertThat( value.size(), equalTo( 3L ) );
for ( Value item : value )
{
assertThat( item.isText(), equalTo( true ) );
assertThat( item.isString(), equalTo( true ) );
assertThat( item.javaString(), equalTo( "Mjölnir" ) );
}
}
Expand All @@ -300,7 +300,7 @@ public void shouldBeAbleToSetAndReturnStringArrayProperty()
assertThat( value.size(), equalTo( 3L ) );
for ( Value item : value )
{
assertThat( item.isText(), equalTo( true ) );
assertThat( item.isString(), equalTo( true ) );
assertThat( item.javaString(), equalTo( "cat" ) );
}
}
Expand Down Expand Up @@ -373,7 +373,7 @@ public void shouldBeAbleToSetAndReturnStringPropertyWithinMap()
for ( Record record : result.retain() )
{
Value value = record.get( "a.value" );
assertThat( value.isText(), equalTo( true ) );
assertThat( value.isString(), equalTo( true ) );
assertThat( value.javaString(), equalTo( "Mjölnir" ) );
}
}
Expand Down
13 changes: 2 additions & 11 deletions driver/src/test/java/org/neo4j/driver/internal/ValuesTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,25 +29,16 @@
import org.neo4j.driver.Value;
import org.neo4j.driver.Values;
import org.neo4j.driver.exceptions.ClientException;
import org.neo4j.driver.internal.value.BooleanValue;
import org.neo4j.driver.internal.value.FloatValue;
import org.neo4j.driver.internal.value.IntegerValue;
import org.neo4j.driver.internal.value.ListValue;
import org.neo4j.driver.internal.value.MapValue;
import org.neo4j.driver.internal.value.TextValue;
import org.neo4j.driver.internal.value.StringValue;

import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotEquals;
import static org.neo4j.driver.Values.value;
import static org.neo4j.driver.Values.valueToBoolean;
import static org.neo4j.driver.Values.valueToDouble;
import static org.neo4j.driver.Values.valueToFloat;
import static org.neo4j.driver.Values.valueToInt;
import static org.neo4j.driver.Values.valueToList;
import static org.neo4j.driver.Values.valueToLong;
import static org.neo4j.driver.Values.valueToString;
import static org.neo4j.driver.Values.values;

Expand All @@ -66,7 +57,7 @@ public void shouldConvertPrimitiveArrays() throws Throwable
equalTo( (Value) new ListValue( values( 1, 2, 3 ) ) ) );

assertThat( value( new char[]{'a', 'b', 'c'} ),
equalTo( (Value) new TextValue( "abc" ) ) );
equalTo( (Value) new StringValue( "abc" ) ) );

assertThat( value( new long[]{1, 2, 3} ),
equalTo( (Value) new ListValue( values( 1, 2, 3 ) ) ) );
Expand Down
Loading