@@ -0,0 +1,1153 @@
+package org.gnode.nix.base;%0A%0Aimport org.bytedeco.javacpp.annotation.Platform;%0Aimport org.gnode.nix.Section;%0A%0A@Platform(value = %22linux%22)%0Apublic abstract class EntityWithMetadata extends NamedEntity %7B%0A%0A    /**%0A     * Get metadata associated with this entity.%0A     *%0A     * @return The associated section, if no such section exists %7B#link null%7D is returned.%0A     */%0A    abstract public Section getMetadata();%0A%0A    /**%0A     * Associate the entity with some metadata.%0A     * %3Cp/%3E%0A     * Calling this method will replace previously stored information.%0A     *%0A     * @param metadata The %7B@link Section%7D that should be associated%0A     *                 with this entity.%0A     */%0A    abstract public void setMetadata(Section metadata);%0A%0A    /**%0A     * Associate the entity with some metadata.%0A     * %3Cp/%3E%0A     * Calling this method will replace previously stored information.%0A     *%0A     * @param id The id of the %7B@link Section%7D that should be associated%0A     *           with this entity.%0A     */%0A    abstract public void setMetadata(String id);%0A%0A    /**%0A     * Removes metadata associated with the entity.%0A     */%0A    abstract public void removeMetadata();%0A%7D%0A

add base class EntityWithMetadata