private <T extends SerialEnum> T readEnum(HugeKeys key, Class<T> clazz) { byte[] value = column(key); E.checkState(value.length == 1, "The length of column '%s' must be 1, but is '%s'", key, value.length); return SerialEnum.fromCode(clazz, value[0]); }
@Override public void insert(CassandraSessionPool.Session session, CassandraBackendEntry.Row entry) { super.insert(session, entry); Byte dir = entry.column(HugeKeys.DIRECTION); Directions direction = SerialEnum.fromCode(Directions.class, dir); if (direction == Directions.OUT) { appendLabelIndex(session, indexTable(), entry); } }
this.status(SerialEnum.fromCode(TaskStatus.class, (byte) value)); break; case P.PROGRESS:
@Override public PropertyKey readPropertyKey(HugeGraph graph, BackendEntry backendEntry) { if (backendEntry == null) { return null; } TableBackendEntry entry = this.convertEntry(backendEntry); Number id = entry.column(HugeKeys.ID); String name = entry.column(HugeKeys.NAME); Number dataType = entry.column(HugeKeys.DATA_TYPE); Number cardinality = entry.column(HugeKeys.CARDINALITY); Object properties = entry.column(HugeKeys.PROPERTIES); Number status = entry.column(HugeKeys.STATUS); PropertyKey propertyKey = new PropertyKey(graph, this.toId(id), name); propertyKey.dataType(SerialEnum.fromCode(DataType.class, dataType.byteValue())); propertyKey.cardinality(SerialEnum.fromCode(Cardinality.class, cardinality.byteValue())); propertyKey.properties(this.toIdArray(properties)); this.readUserdata(propertyKey, entry); propertyKey.status(SerialEnum.fromCode(SchemaStatus.class, status.byteValue())); return propertyKey; }
@Override public IndexLabel readIndexLabel(HugeGraph graph, BackendEntry backendEntry) { if (backendEntry == null) { return null; } TableBackendEntry entry = this.convertEntry(backendEntry); Number id = entry.column(HugeKeys.ID); String name = entry.column(HugeKeys.NAME); Number baseType = entry.column(HugeKeys.BASE_TYPE); Number baseValueId = entry.column(HugeKeys.BASE_VALUE); Number indexType = entry.column(HugeKeys.INDEX_TYPE); Object indexFields = entry.column(HugeKeys.FIELDS); Number status = entry.column(HugeKeys.STATUS); IndexLabel indexLabel = new IndexLabel(graph, this.toId(id), name); indexLabel.baseType(SerialEnum.fromCode(HugeType.class, baseType.byteValue())); indexLabel.baseValue(this.toId(baseValueId)); indexLabel.indexType(SerialEnum.fromCode(IndexType.class, indexType.byteValue())); indexLabel.indexFields(this.toIdArray(indexFields)); indexLabel.status(SerialEnum.fromCode(SchemaStatus.class, status.byteValue())); return indexLabel; }
@Override public VertexLabel readVertexLabel(HugeGraph graph, BackendEntry backendEntry) { if (backendEntry == null) { return null; } TableBackendEntry entry = this.convertEntry(backendEntry); Number id = entry.column(HugeKeys.ID); String name = entry.column(HugeKeys.NAME); Number idStrategy = entry.column(HugeKeys.ID_STRATEGY); Object properties = entry.column(HugeKeys.PROPERTIES); Object primaryKeys = entry.column(HugeKeys.PRIMARY_KEYS); Object nullableKeys = entry.column(HugeKeys.NULLABLE_KEYS); Object indexLabels = entry.column(HugeKeys.INDEX_LABELS); Number status = entry.column(HugeKeys.STATUS); VertexLabel vertexLabel = new VertexLabel(graph, this.toId(id), name); vertexLabel.idStrategy(SerialEnum.fromCode(IdStrategy.class, idStrategy.byteValue())); vertexLabel.properties(this.toIdArray(properties)); vertexLabel.primaryKeys(this.toIdArray(primaryKeys)); vertexLabel.nullableKeys(this.toIdArray(nullableKeys)); vertexLabel.indexLabels(this.toIdArray(indexLabels)); this.readEnableLabelIndex(vertexLabel, entry); this.readUserdata(vertexLabel, entry); vertexLabel.status(SerialEnum.fromCode(SchemaStatus.class, status.byteValue())); return vertexLabel; }
edgeLabel.frequency(SerialEnum.fromCode(Frequency.class, frequency.byteValue())); edgeLabel.sourceLabel(this.toId(sourceLabel)); this.readEnableLabelIndex(edgeLabel, entry); this.readUserdata(edgeLabel, entry); edgeLabel.status(SerialEnum.fromCode(SchemaStatus.class, status.byteValue())); return edgeLabel;
String ownerVertexId = row.column(HugeKeys.OWNER_VERTEX); Number dir = row.column(HugeKeys.DIRECTION); Directions direction = SerialEnum.fromCode(Directions.class, dir.byteValue()); Number label = row.column(HugeKeys.LABEL);
@Override public void insert(CassandraSessionPool.Session session, CassandraBackendEntry.Row entry) { super.insert(session, entry); Byte dir = entry.column(HugeKeys.DIRECTION); Directions direction = SerialEnum.fromCode(Directions.class, dir); if (direction == Directions.OUT) { appendLabelIndex(session, indexTable(), entry); } }
this.status(SerialEnum.fromCode(TaskStatus.class, (byte) value)); break; case P.PROGRESS:
@Override public PropertyKey readPropertyKey(HugeGraph graph, BackendEntry backendEntry) { if (backendEntry == null) { return null; } TableBackendEntry entry = this.convertEntry(backendEntry); Number id = entry.column(HugeKeys.ID); String name = entry.column(HugeKeys.NAME); Number dataType = entry.column(HugeKeys.DATA_TYPE); Number cardinality = entry.column(HugeKeys.CARDINALITY); Object properties = entry.column(HugeKeys.PROPERTIES); Number status = entry.column(HugeKeys.STATUS); PropertyKey propertyKey = new PropertyKey(graph, this.toId(id), name); propertyKey.dataType(SerialEnum.fromCode(DataType.class, dataType.byteValue())); propertyKey.cardinality(SerialEnum.fromCode(Cardinality.class, cardinality.byteValue())); propertyKey.properties(this.toIdArray(properties)); this.readUserdata(propertyKey, entry); propertyKey.status(SerialEnum.fromCode(SchemaStatus.class, status.byteValue())); return propertyKey; }
@Override public IndexLabel readIndexLabel(HugeGraph graph, BackendEntry backendEntry) { if (backendEntry == null) { return null; } TableBackendEntry entry = this.convertEntry(backendEntry); Number id = entry.column(HugeKeys.ID); String name = entry.column(HugeKeys.NAME); Number baseType = entry.column(HugeKeys.BASE_TYPE); Number baseValueId = entry.column(HugeKeys.BASE_VALUE); Number indexType = entry.column(HugeKeys.INDEX_TYPE); Object indexFields = entry.column(HugeKeys.FIELDS); Number status = entry.column(HugeKeys.STATUS); IndexLabel indexLabel = new IndexLabel(graph, this.toId(id), name); indexLabel.baseType(SerialEnum.fromCode(HugeType.class, baseType.byteValue())); indexLabel.baseValue(this.toId(baseValueId)); indexLabel.indexType(SerialEnum.fromCode(IndexType.class, indexType.byteValue())); indexLabel.indexFields(this.toIdArray(indexFields)); indexLabel.status(SerialEnum.fromCode(SchemaStatus.class, status.byteValue())); return indexLabel; }
@Override public VertexLabel readVertexLabel(HugeGraph graph, BackendEntry backendEntry) { if (backendEntry == null) { return null; } TableBackendEntry entry = this.convertEntry(backendEntry); Number id = entry.column(HugeKeys.ID); String name = entry.column(HugeKeys.NAME); Number idStrategy = entry.column(HugeKeys.ID_STRATEGY); Object properties = entry.column(HugeKeys.PROPERTIES); Object primaryKeys = entry.column(HugeKeys.PRIMARY_KEYS); Object nullableKeys = entry.column(HugeKeys.NULLABLE_KEYS); Object indexLabels = entry.column(HugeKeys.INDEX_LABELS); Number status = entry.column(HugeKeys.STATUS); VertexLabel vertexLabel = new VertexLabel(graph, this.toId(id), name); vertexLabel.idStrategy(SerialEnum.fromCode(IdStrategy.class, idStrategy.byteValue())); vertexLabel.properties(this.toIdArray(properties)); vertexLabel.primaryKeys(this.toIdArray(primaryKeys)); vertexLabel.nullableKeys(this.toIdArray(nullableKeys)); vertexLabel.indexLabels(this.toIdArray(indexLabels)); this.readEnableLabelIndex(vertexLabel, entry); this.readUserdata(vertexLabel, entry); vertexLabel.status(SerialEnum.fromCode(SchemaStatus.class, status.byteValue())); return vertexLabel; }
edgeLabel.frequency(SerialEnum.fromCode(Frequency.class, frequency.byteValue())); edgeLabel.sourceLabel(this.toId(sourceLabel)); this.readEnableLabelIndex(edgeLabel, entry); this.readUserdata(edgeLabel, entry); edgeLabel.status(SerialEnum.fromCode(SchemaStatus.class, status.byteValue())); return edgeLabel;
String ownerVertexId = row.column(HugeKeys.OWNER_VERTEX); Number dir = row.column(HugeKeys.DIRECTION); Directions direction = SerialEnum.fromCode(Directions.class, dir.byteValue()); Number label = row.column(HugeKeys.LABEL);