/** * Get the {@link RecordMetaData} instance for the specified fields. * @param fieldValues The fields. * @return The RecordMetaData instance. */ public RecordMetaData getRecordMetaData(List<String> fieldValues) { return vfRecordMetaData.getRecordMetaData(fieldValues); }
/** * Is the parser configured to parse multiple record types. * @return True if the parser configured to parse multiple record types, otherwise false. */ public boolean isMultiTypeRecordSet() { return vfRecordMetaData.isMultiTypeRecordSet(); }
public void visitAfter(SAXElement element, ExecutionContext executionContext) throws SmooksException, IOException { wireObject(executionContext); }
/** * {@inheritDoc} */ public void initialize() throws IOException { int skipLines = factory.getSkipLines(); // Move past the lines to be skipped ... while (lineNumber < skipLines) { _nextRecordFieldValues(); } // If the fields are defined in the message... read the next record if (factory.fieldsInMessage() || factory.validateHeader()) { List<String> fields = _nextRecordFieldValues(); if (factory.validateHeader()) { validateHeader(fields); } if (factory.fieldsInMessage()) { // In message field definitions do not support variable field definitions... just one record type supported... inMessageRecordMetaData = VariableFieldRecordMetaData.buildRecordMetaData(factory.getRecordElementName(), fields); } } }
protected void validateHeader(List<String> headers) throws IOException { if (factory.isMultiTypeRecordSet()) { throw new IOException("Cannot validate the 'header' field of a Multi-Type Record Set. Reader fields definition defines multiple record definitions."); } RecordMetaData recordMetaData = factory.getRecordMetaData(); if (headers == null) { throw new IOException("Null header."); } if (validateHeader(headers, recordMetaData.getFields())) { return; } throw new IOException("Invalid header."); }
private List<String> _nextRecordFieldValues() throws IOException { lineNumber++; return nextRecordFieldValues(); }
@Initialize public final void buildRecordMetaData() { vfRecordMetaData = new VariableFieldRecordMetaData(recordElementName, fields); }
/** * {@inheritDoc} */ public void initialize() throws IOException { int skipLines = factory.getSkipLines(); // Move past the lines to be skipped ... while (lineNumber < skipLines) { _nextRecordFieldValues(); } // If the fields are defined in the message... read the next record if (factory.fieldsInMessage() || factory.validateHeader()) { List<String> fields = _nextRecordFieldValues(); if (factory.validateHeader()) { validateHeader(fields); } if (factory.fieldsInMessage()) { // In message field definitions do not support variable field definitions... just one record type supported... inMessageRecordMetaData = VariableFieldRecordMetaData.buildRecordMetaData(factory.getRecordElementName(), fields); } } }
protected void validateHeader(List<String> headers) throws IOException { if (factory.isMultiTypeRecordSet()) { throw new IOException("Cannot validate the 'header' field of a Multi-Type Record Set. Reader fields definition defines multiple record definitions."); } RecordMetaData recordMetaData = factory.getRecordMetaData(); if (headers == null) { throw new IOException("Null header."); } if (validateHeader(headers, recordMetaData.getFields())) { return; } throw new IOException("Invalid header."); }
/** * Get the {@link RecordMetaData} instance for the specified fields. * @param fieldValues The fields. * @return The RecordMetaData instance. */ public RecordMetaData getRecordMetaData(List<String> fieldValues) { return vfRecordMetaData.getRecordMetaData(fieldValues); }
/** * Is the parser configured to parse multiple record types. * @return True if the parser configured to parse multiple record types, otherwise false. */ public boolean isMultiTypeRecordSet() { return vfRecordMetaData.isMultiTypeRecordSet(); }
public void visitAfter(SAXElement element, ExecutionContext executionContext) throws SmooksException, IOException { wireObject(executionContext); }
private List<String> _nextRecordFieldValues() throws IOException { lineNumber++; return nextRecordFieldValues(); }
@Initialize public final void buildRecordMetaData() { vfRecordMetaData = new VariableFieldRecordMetaData(recordElementName, fields); }
public RecordMetaData getRecordMetaData() { return vfRecordMetaData.getRecordMetaData(); }
/** * Get the record metadata for the variable field record parser. * * @return The record metadata. * @see #isMultiTypeRecordSet() */ public RecordMetaData getRecordMetaData() { if (isMultiTypeRecordSet()) { throw new IllegalStateException( "Invalid call to getRecordMetaData(). This is a multi-type record set. Must call getRecordMetaData(String recordTypeName)."); } return recordMetaData; }
public void visitAfter(Element element, ExecutionContext executionContext) throws SmooksException { wireObject(executionContext); }
public RecordMetaData getRecordMetaData() { return vfRecordMetaData.getRecordMetaData(); }
/** * Get the record metadata for the variable field record parser. * * @return The record metadata. * @see #isMultiTypeRecordSet() */ public RecordMetaData getRecordMetaData() { if (isMultiTypeRecordSet()) { throw new IllegalStateException( "Invalid call to getRecordMetaData(). This is a multi-type record set. Must call getRecordMetaData(String recordTypeName)."); } return recordMetaData; }
public void visitAfter(Element element, ExecutionContext executionContext) throws SmooksException { wireObject(executionContext); }