Most likely, you're trying to map directly to it, which doesn't really make sense from a jibx perspective - you're telling jibx to instantiate and populate this interface which, of course, it can't, since interfaces can't be instantiated. I'm just guessing, though - I'd have to see your code to be sure. Here's an example of a class structure that uses interfaces that compiles and runs using jibx 1.1.5, for reference:
public interface Person { public String getName(); } public class Employee implements Person { private String firstName; private String lastName; public String getName() { return firstName + " " + lastName; } } public class Manager implements Person { private String firstName; private String lastName; private String level; public String getName( ) { return firstName + " " + lastName + " " + level; } } import java.util.ArrayList; public class TopLevel { private ArrayList< Person > people; public String toString( ) { String s = ""; for ( Person person : people ) { s += person.getName() + "\n"; } return s; } } <binding direction="input"> <mapping name="collection" class="TopLevel"> <collection field="people" /> </mapping> <mapping name="employee" class="Employee"> <value style="element" name="firstname" field="firstName" /> <value style="element" name="lastname" field="lastName" /> </mapping> <mapping name="manager" class="Manager"> <value style="element" name="firstname" field="firstName" /> <value style="element" name="lastname" field="lastName" /> <value style="element" name="level" field="level" /> </mapping> </binding> <collection> <employee> <firstname>Ed</firstname> <lastname>Employee</lastname> </employee> <manager> <firstname>Mike</firstname> <lastname>Manager</lastname> <level>senior</level> </manager> </collection> This compiles OK because I don't try to refer to the interface "Person" anywhere in the binding file. This code works fine even if I jar up "Person" and reference it by classpath - the jibx compiler never tries to access it to modify it. If your actual use case is more complex (go figure), don't hesitate to post a sample that replicates the actual problem here (although the smaller the better, of course) and I'll see if I can work out what's gone wrong. On Fri, 2008-05-02 at 13:34 -0700, reemo wrote: > I have a class that is implementing an interface and when I try to run the > JIBX compiler on the class it complains that it cant modify the actual > Interface? Do interfaces have to be available on the classpath as actual > .class files? Why would JIBX need to do this? I know that JIBX has to be > able to modify the actual class files on the file system (not in a jar) > unless they are marked "abstract" in the mapping file. > > Error: > -------- > Cannot modify class com.edmunds.vehicle.Engine > > Any help is greatly apprecaited! > > Thanks. > ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone _______________________________________________ jibx-users mailing list jibx-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jibx-users