@@ -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 ();
0 commit comments