@Override public String fromComposite( final CompositeParser composite ) { return composite.readString(); }
@Override public DirectedEdgeMeta fromComposite( final CompositeParser composite ) { final int storageType = composite.readInteger(); final DirectedEdgeMeta.MetaType metaType = DirectedEdgeMeta.MetaType.fromStorage( storageType ); final int idLength = composite.readInteger(); final DirectedEdgeMeta.NodeMeta[] nodePairs = new DirectedEdgeMeta.NodeMeta[idLength]; for ( int i = 0; i < idLength; i++ ) { final Id sourceId = ID_SER.fromComposite( composite ); final NodeType type = NodeType.get( composite.readInteger() ); nodePairs[i] = new DirectedEdgeMeta.NodeMeta( sourceId, type ); } final int length = composite.readInteger(); String[] types = new String[length]; for ( int i = 0; i < length; i++ ) { types[i] = composite.readString(); } return DirectedEdgeMeta.fromStorage( metaType, nodePairs, types ); }
@Override public Id fromComposite( final CompositeParser composite ) { final UUID uuid = composite.readUUID(); final String type = composite.readString(); return new SimpleId( uuid, type ); }
@Override public RowKeyType fromComposite( final CompositeParser composite ) { final Id id = ID_SER.fromComposite( composite ); final String edgeType = composite.readString(); final String idType = composite.readString(); final long shard = composite.readLong(); return new RowKeyType( id, edgeType, idType, shard); }
@Override public BucketScopedRowKey<K> fromByteBuffer( final ByteBuffer byteBuffer ) { final CompositeParser parser = Composites.newCompositeParser( byteBuffer ); //read back the id final Id orgId = ID_SER.fromComposite( parser ); final int bucket = parser.readInteger(); final K value = keySerializer.fromComposite( parser ); return new BucketScopedRowKey<>( orgId, value, bucket ); } }
@Override public RowKey fromComposite( final CompositeParser composite ) { final Id id = ID_SER.fromComposite( composite ); final String edgeType = composite.readString(); final long shard = composite.readLong(); return new RowKey( id, edgeType, shard ); }
@Override public TypeField fromComposite(CompositeParser composite) { String type = composite.readString(); Field field = innerSerializer.fromComposite(composite); return new TypeField(type,field); }
final UUID version = composite.readUUID(); final String name = composite.readString(); final String value = composite.readString(); final String typeString = composite.readString();
@Override public EdgeRowKey fromComposite( final CompositeParser composite ) { final Id sourceId = ID_SER.fromComposite( composite ); final String edgeType = composite.readString(); final Id targetId = ID_SER.fromComposite( composite ); final long shard = composite.readLong(); return new EdgeRowKey( sourceId, edgeType, targetId, shard ); }
@Override public EdgeIdTypeKey fromComposite( final CompositeParser composite ) { final Id id = ID_SER.fromComposite( composite ); final String edgeType = composite.readString(); return new EdgeIdTypeKey( id, edgeType ); }
@Override public EdgeIdTypeKey fromComposite( final CompositeParser composite ) { final Id id = ID_SER.fromComposite( composite ); final String edgeType = composite.readString(); return new EdgeIdTypeKey( id, edgeType ); }
@Override public Field fromComposite( final CompositeParser composite ) { final String typeString = composite.readString(); final String name = composite.readString(); final String value = composite.readString(); final FieldTypeName fieldType = FieldTypeName.valueOf( typeString ); switch ( fieldType ) { case BOOLEAN: return new BooleanField( name, Boolean.parseBoolean( value ) ); case DOUBLE: return new DoubleField( name, Double.parseDouble( value ) ); case FLOAT: return new FloatField( name, Float.parseFloat( value ) ); case INTEGER: return new IntegerField( name, Integer.parseInt( value ) ); case LONG: return new LongField( name, Long.parseLong( value ) ); case STRING: return new StringField( name, value ); case UUID: return new UUIDField( name, UUID.fromString( value ) ); default: throw new RuntimeException( "Unknown unique field type" ); } }
@Override public ScopedRowKey<CollectionPrefixedKey<K>> fromByteBuffer( final ByteBuffer byteBuffer ) { final CompositeParser parser = Composites.newCompositeParser( byteBuffer ); //read back the id final Id orgId = ID_SER.fromComposite( parser ); final Id scopeId = ID_SER.fromComposite( parser ); final String scopeName = parser.readString(); final K value = keySerializer.fromComposite( parser ); final CollectionPrefixedKey<K> collectionPrefixedKey = new CollectionPrefixedKey<>( scopeName, scopeId, value ); return new ScopedRowKey<>( orgId, collectionPrefixedKey ); } }