PdfBoxMigration implements Migrate, Serializable { public final ServiceDescription describe() { ServiceDescription.Builder builder = new ServiceDescription.Builder(NAME, Migrate.class.getName()); builder.author("Claus Jensen <cjen@kb.dk>"); builder.classname(this.getClass().getCanonicalName()); builder.description("Extracts the textual " + "contents of pdf files and migrate it " + "to HTML 4.0 or UTF-16 text"); Set<URI> outputformats = new HashSet<URI>(); outputformats.add(outputformatUnicode); outputformats.add(outputformatHtml); FormatRegistry fm = FormatRegistryFactory.getFormatRegistry(); List<MigrationPath> paths = MigrationPath.constructPaths(fm.getUrisForExtension("pdf"), outputformats); builder.paths(paths.toArray(new MigrationPath[]{})); builder.version("0.1"); return builder.build(); }  final MigrateResult migrate(final DigitalObject digitalObject,
                                       final URI inputFormat, final URI outputFormat,
                                       final List<Parameter> parameters); final ServiceDescription describe(); static final String NAME; }
@Test public final void testDescribe() { final ServiceDescription desc = dom.describe(); System.out.println("Recieved service description: " + desc.toXmlFormatted()); assertNotNull("The ServiceDescription should not be NULL.", desc); }