@Override public void encode(final IAMCodec codec, final IAMIndex index) throws IOException, IllegalArgumentException { try { try (OutputStream stream = IO.outputStreamFrom(codec.getTargetData())) { stream.write(index.toBytes(codec.getByteOrder().toOrder())); } } catch (IOException | IllegalArgumentException cause) { throw cause; } catch (final Exception cause) { throw new IllegalArgumentException(cause); } }
/** * Diese Methode erzeugt aus dem gegebenen Objekt einen {@link INIWriter} und gibt diesen zurück. * <br> * Wenn das Objekt ein {@link INIWriter} ist, wird dieser geliefert. Andernfalls wird das Objekt * in einen {@link Writer} {@link IO#outputWriterFrom(Object) überführt}. * * @see IO#outputWriterFrom(Object) * @see INIWriter#INIWriter(Writer) * @param object Objekt. * @return {@link INIWriter}. * @throws IOException Wenn der {@link INIWriter} nicht erzeugt werden kann. */ public static INIWriter from(final Object object) throws IOException { if (object instanceof INIWriter) return (INIWriter) object; return new INIWriter(IO.outputWriterFrom(object)); }