create Tags in StringCompressor instead of use StringCompressor in Tags

This commit is contained in:
2021-08-25 20:00:31 +02:00
parent b01567c82e
commit 5d2fdb4820
8 changed files with 171 additions and 109 deletions

View File

@@ -64,4 +64,59 @@ public class StringCompressor {
return get(tag.getValue());
}
public Tags createAndAddToDictionary(final String key, final String value) {
final int keyAsInt = put(key);
final int valueAsInt = put(value);
return TagsBuilder.create().add(keyAsInt, valueAsInt).build();
}
public Tags createAndAddToDictionary(final String key1, final String value1, final String key2,
final String value2) {
final int key1AsInt = put(key1);
final int value1AsInt = put(value1);
final int key2AsInt = put(key2);
final int value2AsInt = put(value2);
final Tags result = TagsBuilder.create().add(key1AsInt, value1AsInt).add(key2AsInt, value2AsInt).build();
return result;
}
public Tags createAndAddToDictionary(final String key1, final String value1, final String key2, final String value2,
final String key3, final String value3) {
final int key1AsInt = put(key1);
final int value1AsInt = put(value1);
final int key2AsInt = put(key2);
final int value2AsInt = put(value2);
final int key3AsInt = put(key3);
final int value3AsInt = put(value3);
final Tags result = TagsBuilder.create().add(key1AsInt, value1AsInt).add(key2AsInt, value2AsInt)
.add(key3AsInt, value3AsInt).build();
return result;
}
public Tags createAndAddToDictionary(final String key1, final String value1, final String key2, final String value2,
final String key3, final String value3, final String key4, final String value4) {
final int key1AsInt = put(key1);
final int value1AsInt = put(value1);
final int key2AsInt = put(key2);
final int value2AsInt = put(value2);
final int key3AsInt = put(key3);
final int value3AsInt = put(value3);
final int key4AsInt = put(key4);
final int value4AsInt = put(value4);
final Tags result = TagsBuilder.create().add(key1AsInt, value1AsInt).add(key2AsInt, value2AsInt)
.add(key3AsInt, value3AsInt).add(key4AsInt, value4AsInt).build();
return result;
}
}

View File

@@ -60,33 +60,6 @@ public class Tags implements Comparable<Tags> {
return result;
}
public static Tags createAndAddToDictionary(final String key, final String value) {
return TagsBuilder.create().addAndAddToDictionary(key, value).build();
}
public static Tags createAndAddToDictionary(final String key1, final String value1, final String key2,
final String value2) {
final Tags result = TagsBuilder.create().addAndAddToDictionary(key1, value1).addAndAddToDictionary(key2, value2)
.build();
return result;
}
public static Tags createAndAddToDictionary(final String key1, final String value1, final String key2,
final String value2, final String key3, final String value3) {
final Tags result = TagsBuilder.create().addAndAddToDictionary(key1, value1).addAndAddToDictionary(key2, value2)
.addAndAddToDictionary(key3, value3).build();
return result;
}
public static Tags createAndAddToDictionary(final String key1, final String value1, final String key2,
final String value2, final String key3, final String value3, final String key4, final String value4) {
final Tags result = TagsBuilder.create().addAndAddToDictionary(key1, value1).addAndAddToDictionary(key2, value2)
.addAndAddToDictionary(key3, value3).addAndAddToDictionary(key4, value4).build();
return result;
}
public static Tags fromBytes(final byte[] bytes) {
final List<Tag> result = new ArrayList<>();

View File

@@ -30,12 +30,6 @@ public class TagsBuilder {
return this;
}
public TagsBuilder addAndAddToDictionary(final String key, final String value) {
final int keyAsInt = Tags.STRING_COMPRESSOR.put(key);
final int valueAsInt = Tags.STRING_COMPRESSOR.put(value);
return add(keyAsInt, valueAsInt);
}
public Tags build() {
return Tags.create(tags);
}