package org.jboss.loom.migrators; import javax.xml.bind.annotation.XmlTransient; import org.jboss.loom.spi.IConfigFragment; /** * Base class for JAXB beans; it's Origin.Wise and a IConfigFragment. * * @author Ondrej Zizka, ozizka at redhat.com */ public abstract class OriginWiseJaxbBase<T extends OriginWiseJaxbBase> implements IConfigFragment, Origin.Wise { // Origin @XmlTransient private Origin origin; @Override public Origin getOrigin() { if( origin == null ) origin = new Origin( null ); return origin; } @Override public T setOrigin( Origin origin ) { this.origin = origin; return (T) this; } @Override public String toString() { StringBuilder sb = new StringBuilder( this.getClass().getSimpleName() ); if( origin != null ){ if( origin.getFile() != null ) sb.append(" from ").append( origin.getFile() ); if( origin.getPart() != null ) sb.append(" found using ").append( origin.getPart() ); } return sb.toString(); } }// class