@@ -199,24 +199,27 @@ public void literal(final String name, final String value) {
199
199
private void processLeaderAsOneLiteral (final String value ) {
200
200
if (value .length () != Iso2709Constants .RECORD_LABEL_LENGTH ) {
201
201
throw new FormatException (
202
- "leader literal must contain " + Iso2709Constants .RECORD_LABEL_LENGTH + " characters:" + value );
202
+ "leader literal must contain " + Iso2709Constants .RECORD_LABEL_LENGTH + " characters: " + value );
203
203
}
204
- processLeaderAsSubfields (Marc21EventNames .RECORD_STATUS_LITERAL , String . valueOf ( value .charAt (Iso2709Constants .RECORD_STATUS_POS ) ));
205
- processLeaderAsSubfields (Marc21EventNames .RECORD_TYPE_LITERAL , String . valueOf ( value .charAt (Iso2709Constants .IMPL_CODES_START ) ));
206
- processLeaderAsSubfields (Marc21EventNames .BIBLIOGRAPHIC_LEVEL_LITERAL , String . valueOf ( value .charAt (Iso2709Constants .IMPL_CODES_START + 1 ) ));
207
- processLeaderAsSubfields (Marc21EventNames .TYPE_OF_CONTROL_LITERAL , String . valueOf ( value .charAt (Iso2709Constants .IMPL_CODES_START + 2 ) ));
208
- processLeaderAsSubfields (Marc21EventNames .CHARACTER_CODING_LITERAL , String . valueOf ( value .charAt (Iso2709Constants .RECORD_STATUS_POS + Iso2709Constants .IMPL_CODES_LENGTH ) ));
209
- processLeaderAsSubfields (Marc21EventNames .ENCODING_LEVEL_LITERAL , String . valueOf ( value .charAt (Iso2709Constants .SYSTEM_CHARS_START ) ));
210
- processLeaderAsSubfields (Marc21EventNames .CATALOGING_FORM_LITERAL , String . valueOf ( value .charAt (Iso2709Constants .SYSTEM_CHARS_START + 1 ) ));
211
- processLeaderAsSubfields (Marc21EventNames .MULTIPART_LEVEL_LITERAL , String . valueOf ( value .charAt (Iso2709Constants .SYSTEM_CHARS_START + 2 ) ));
204
+ processLeaderAsSubfields (Marc21EventNames .RECORD_STATUS_LITERAL , value .charAt (Iso2709Constants .RECORD_STATUS_POS ));
205
+ processLeaderAsSubfields (Marc21EventNames .RECORD_TYPE_LITERAL , value .charAt (Iso2709Constants .IMPL_CODES_START ));
206
+ processLeaderAsSubfields (Marc21EventNames .BIBLIOGRAPHIC_LEVEL_LITERAL , value .charAt (Iso2709Constants .IMPL_CODES_START + 1 ));
207
+ processLeaderAsSubfields (Marc21EventNames .TYPE_OF_CONTROL_LITERAL , value .charAt (Iso2709Constants .IMPL_CODES_START + 2 ));
208
+ processLeaderAsSubfields (Marc21EventNames .CHARACTER_CODING_LITERAL , value .charAt (Iso2709Constants .RECORD_STATUS_POS + Iso2709Constants .IMPL_CODES_LENGTH ));
209
+ processLeaderAsSubfields (Marc21EventNames .ENCODING_LEVEL_LITERAL , value .charAt (Iso2709Constants .SYSTEM_CHARS_START ));
210
+ processLeaderAsSubfields (Marc21EventNames .CATALOGING_FORM_LITERAL , value .charAt (Iso2709Constants .SYSTEM_CHARS_START + 1 ));
211
+ processLeaderAsSubfields (Marc21EventNames .MULTIPART_LEVEL_LITERAL , value .charAt (Iso2709Constants .SYSTEM_CHARS_START + 2 ));
212
212
}
213
213
214
214
private void processLeaderAsSubfields (final String name , final String value ) {
215
215
if (value .length () != 1 ) {
216
216
throw new FormatException (
217
217
"literal must only contain a single character:" + name );
218
218
}
219
- final char code = value .charAt (0 );
219
+ processLeaderAsSubfields (name , value .charAt (0 ));
220
+ }
221
+
222
+ private void processLeaderAsSubfields (final String name , final char code ) {
220
223
switch (name ) {
221
224
case Marc21EventNames .RECORD_STATUS_LITERAL :
222
225
requireValidCode (code , Marc21Constants .RECORD_STATUS_CODES );
0 commit comments