Hallo Leute,
kann mir einer erklären, wieso es hier zu einer javax.xml.bind.MarshalException kommt, die meint einen cycle entdeckt zu haben?
TimeOfDay-Class:
	
	
	
	
	
		
	
Ausgeführt wird:
	
	
	
	
	
		
	
Vielen Dank!
			
			kann mir einer erklären, wieso es hier zu einer javax.xml.bind.MarshalException kommt, die meint einen cycle entdeckt zu haben?
TimeOfDay-Class:
		Java:
	
	import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class TimeOfDay extends GregorianCalendar {
	private static final long serialVersionUID = 1L;
	private final GregorianCalendar timestamp;
	public TimeOfDay() {
		super();
		timestamp = this;
		set(YEAR, 2012);
		set(MONTH, 0);
		set(DAY_OF_MONTH, 1);
		set(SECOND, 0);
		set(MILLISECOND, 0);
	}
	public TimeOfDay(int hour, int minute) {
		this();
		setTime(hour, minute);
	}
	public GregorianCalendar getTimestamp() {
		return timestamp;
	}
	public void setTimestamp(GregorianCalendar timestamp) {
		setTime(timestamp.get(HOUR_OF_DAY), timestamp.get(MINUTE));
	}
	@Override
	public TimeOfDay clone() {
		return new TimeOfDay(getHour(), getMinute());
	}
	public void setTime(int hour, int minute) {
		set(HOUR_OF_DAY, hour);
		set(MINUTE, minute);
	}
	@Override
	public String toString() {
		StringBuilder sb = new StringBuilder();
		SimpleDateFormat format = new SimpleDateFormat("kk:mm");
		sb.append(format.format(getTime()));
		sb.append(" Uhr");
		return sb.toString();
	}
	public int getHour() {
		return get(HOUR_OF_DAY);
	}
	public int getMinute() {
		return get(MINUTE);
	}
}Ausgeführt wird:
		Java:
	
		public static void main(String[] args) {
		TimeOfDay test = new TimeOfDay();
		File testFile = new File("test.xml");
		JAXBContext context;
		try {
			context = JAXBContext.newInstance(TimeOfDay.class);
			Marshaller m = context.createMarshaller();
			m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
			FileWriter writer = new FileWriter(testFile);
			m.marshal(test, writer);
			writer.close();
		} catch (final JAXBException e) {
			e.printStackTrace();
		} catch (final IOException e) {
			e.printStackTrace();
		}
	}Vielen Dank!
 
				 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		