Skip to content

Commit f99f0dc

Browse files
committed
Version 0.2 refactor
1 parent 5256b0c commit f99f0dc

3 files changed

Lines changed: 6 additions & 174 deletions

File tree

src/main/java/org/hdf5javalib/datatype/StringDatatype.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -443,8 +443,8 @@ public enum CharacterSet {
443443
*/
444444
RESERVED_15(15, "Reserved", "Reserved for future use.");
445445

446-
private final int value;
447-
private final String name;
446+
final int value;
447+
final String name;
448448
private final String description;
449449

450450
CharacterSet(int value, String name, String description) {

src/main/java/org/hdf5javalib/datatype/VariableLengthDatatype.java

Lines changed: 4 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ public static VariableLengthDatatype parseVariableLengthDatatype(int classAndVer
101101
* @param charSet the character set for strings (ASCII or UTF-8)
102102
* @return a BitSet encoding the type, padding, and character set
103103
*/
104-
public static BitSet createClassBitField(Type type, PaddingType paddingType, CharacterSet charSet) {
104+
public static BitSet createClassBitField(Type type, PaddingType paddingType, StringDatatype.CharacterSet charSet) {
105105
long bitfield = ((long) charSet.value << 8) | ((long) paddingType.value << 4) | type.value;
106106
return BitSet.valueOf(new long[]{bitfield});
107107
}
@@ -176,7 +176,7 @@ public String toString(byte[] bytes) {
176176

177177
byte[] workingBytes = globalHeap.getDataBytes(offset, index);
178178
if (getType() == Type.STRING) {
179-
return new String(workingBytes, getCharacterSet() == CharacterSet.ASCII ? StandardCharsets.US_ASCII : StandardCharsets.UTF_8);
179+
return new String(workingBytes, getCharacterSet() == StringDatatype.CharacterSet.ASCII ? StandardCharsets.US_ASCII : StandardCharsets.UTF_8);
180180
} else {
181181
int datatypeSize = datatype.getSize();
182182
String[] resultArray = new String[count];
@@ -307,8 +307,8 @@ public PaddingType getPaddingType() {
307307
*
308308
* @return the CharacterSet (ASCII or UTF8)
309309
*/
310-
public CharacterSet getCharacterSet() {
311-
return CharacterSet.fromBitSet(classBitField);
310+
public StringDatatype.CharacterSet getCharacterSet() {
311+
return StringDatatype.CharacterSet.fromBitSet(classBitField);
312312
}
313313

314314
/**
@@ -558,112 +558,6 @@ public static PaddingType fromBitSet(BitSet bits) {
558558
}
559559
}
560560

561-
/**
562-
* Enum representing character sets for HDF5 variable-length strings.
563-
*/
564-
public enum CharacterSet {
565-
/**
566-
* ASCII character set.
567-
*/
568-
ASCII(0, "ASCII", "American Standard Code for Information Interchange"),
569-
/**
570-
* UTF-8 character set.
571-
*/
572-
UTF8(1, "UTF-8", "Unicode Transformation Format, 8-bit"),
573-
/**
574-
* Reserved character set for future use.
575-
*/
576-
RESERVED_2(2, "Reserved", "Reserved for future use."),
577-
/**
578-
* Reserved character set for future use.
579-
*/
580-
RESERVED_3(3, "Reserved", "Reserved for future use."),
581-
/**
582-
* Reserved character set for future use.
583-
*/
584-
RESERVED_4(4, "Reserved", "Reserved for future use."),
585-
/**
586-
* Reserved character set for future use.
587-
*/
588-
RESERVED_5(5, "Reserved", "Reserved for future use."),
589-
/**
590-
* Reserved character set for future use.
591-
*/
592-
RESERVED_6(6, "Reserved", "Reserved for future use."),
593-
/**
594-
* Reserved character set for future use.
595-
*/
596-
RESERVED_7(7, "Reserved", "Reserved for future use."),
597-
/**
598-
* Reserved character set for future use.
599-
*/
600-
RESERVED_8(8, "Reserved", "Reserved for future use."),
601-
/**
602-
* Reserved character set for future use.
603-
*/
604-
RESERVED_9(9, "Reserved", "Reserved for future use."),
605-
/**
606-
* Reserved character set for future use.
607-
*/
608-
RESERVED_10(10, "Reserved", "Reserved for future use."),
609-
/**
610-
* Reserved character set for future use.
611-
*/
612-
RESERVED_11(11, "Reserved", "Reserved for future use."),
613-
/**
614-
* Reserved character set for future use.
615-
*/
616-
RESERVED_12(12, "Reserved", "Reserved for future use."),
617-
/**
618-
* Reserved character set for future use.
619-
*/
620-
RESERVED_13(13, "Reserved", "Reserved for future use."),
621-
/**
622-
* Reserved character set for future use.
623-
*/
624-
RESERVED_14(14, "Reserved", "Reserved for future use."),
625-
/**
626-
* Reserved character set for future use.
627-
*/
628-
RESERVED_15(15, "Reserved", "Reserved for future use.");
629-
630-
private final int value;
631-
private final String name;
632-
private final String description;
633-
634-
CharacterSet(int value, String name, String description) {
635-
this.value = value;
636-
this.name = name;
637-
this.description = description;
638-
}
639-
640-
/**
641-
* Retrieves the CharacterSet corresponding to the given value.
642-
*
643-
* @param value the numeric value of the character set
644-
* @return the corresponding CharacterSet
645-
* @throws IllegalArgumentException if the value does not match any known character set
646-
*/
647-
public static CharacterSet fromValue(int value) {
648-
for (CharacterSet set : values()) {
649-
if (set.value == value) return set;
650-
}
651-
throw new IllegalArgumentException("Invalid character set value: " + value);
652-
}
653-
654-
/**
655-
* Retrieves the CharacterSet from a BitSet.
656-
*
657-
* @param bits the BitSet containing character set information
658-
* @return the corresponding CharacterSet
659-
*/
660-
public static CharacterSet fromBitSet(BitSet bits) {
661-
int value = (bits.get(8) ? 1 : 0) | (bits.get(9) ? 2 : 0) |
662-
(bits.get(10) ? 4 : 0) | (bits.get(11) ? 8 : 0);
663-
return fromValue(value);
664-
}
665-
}
666-
667561
@Override
668562
public List<ReferenceDatatype> getReferenceInstances() {
669563
return datatype.getReferenceInstances();

src/main/java/org/hdf5javalib/examples/read/VLenTypesRead.java

Lines changed: 0 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -49,66 +49,4 @@ private void run() throws Exception {
4949
log.info("Superblock: {}", reader.getSuperblock());
5050
}
5151
}
52-
53-
/**
54-
* A data class representing a basic compound dataset with two fields.
55-
*/
56-
public static class Compound {
57-
/** A short integer field. */
58-
private Short a;
59-
/** A double-precision floating-point field. */
60-
private Double b;
61-
62-
public Short getA() {
63-
return a;
64-
}
65-
66-
public void setA(Short a) {
67-
this.a = a;
68-
}
69-
70-
public Double getB() {
71-
return b;
72-
}
73-
74-
public void setB(Double b) {
75-
this.b = b;
76-
}
77-
}
78-
79-
/**
80-
* A custom data class for a compound dataset with renamed fields.
81-
*/
82-
public static class CustomCompound {
83-
/** A name identifier for the compound. */
84-
private String name;
85-
/** A short integer field. */
86-
private Short someShort;
87-
/** A double-precision floating-point field. */
88-
private Double someDouble;
89-
90-
public String getName() {
91-
return name;
92-
}
93-
94-
public void setName(String name) {
95-
this.name = name;
96-
}
97-
98-
public Short getSomeShort() {
99-
return someShort;
100-
}
101-
102-
public void setSomeShort(Short someShort) {
103-
this.someShort = someShort;
104-
}
105-
106-
public Double getSomeDouble() {
107-
return someDouble;
108-
}
109-
110-
public void setSomeDouble(Double someDouble) {
111-
this.someDouble = someDouble;
112-
}
113-
}
11452
}

0 commit comments

Comments
 (0)