/** * Complete the generated bindings. This prepares the generated bindings for writing to the file system, if desired. * * @param name file name for root or singleton binding definition * @return holder for root binding definition */ public BindingHolder finish(String name) { BindingHolder root = m_directory.configureFiles(name, m_targetPackage, Collections.EMPTY_LIST); return root; }
/** * Write the binding definitions file(s). This method can only be used after * {@link #buildDataModel(boolean, boolean, Map, Map)} is called. * * @param name root binding definition file name (use customization, or default, if <code>null</code>) * @param pack target package for binding (<code>null</code> if unspecified) * @param pregens pregenerated bindings to be included in root binding * @param handler validation error and code generation problem handler * @throws JiBXException error * @throws IOException error */ public void writeBindings(String name, String pack, List pregens, ProblemHandler handler) throws JiBXException, IOException { if (name == null) { name = m_global.getBindingFileName(); if (name == null) { name = "binding.xml"; } } m_rootHolder = m_bindingDirectory.configureFiles(name, pack, pregens); IClassLocator iloc = new DummyClassLocator(); org.jibx.binding.model.ValidationContext vctx = new org.jibx.binding.model.ValidationContext(iloc); if (m_bindingDirectory.validateBindings(m_rootHolder, m_targetDir, vctx)) { m_bindingDirectory.writeBindings(m_targetDir); } else { reportBindingProblems(vctx, handler); throw new JiBXException("Terminating due to errors in bindings"); } }