String xml =" 
<proposicao Ano=‘2010’ Numero=‘8050’ Tipo=‘PL’> 
<idProposicao>490340</idProposicao> 
</proposicao> 
";
[code] 
@XStreamAlias (“proposicao”) 
public class ProposicaoTO {
@XStreamAlias("idProposicao")
private Long id;
@XStreamAsAttribute
@XStreamAlias("Tipo")
private TipoProposicaoTO tipoProposicao;
@XStreamAsAttribute
@XStreamAlias("Numero")
private int numero;
@XStreamAsAttribute
@XStreamAlias("Ano")
private int ano;
 
}[/code]
Saida:
ProposicaoTO(id=490340, tipoProposicao=null , numero=8050, ano=2010) 
         
         
           
        
            
            
            
         
         
             
             
          
       
      
        
        
          Já criei diversos Converts. Acho que é uma limitação mesmo da ferramenta.
         
         
        
            
            
            
         
         
             
             
          
       
      
        
          
          
            alias  
            
           
           
          
              
                Abril 17, 2013,  2:04pm
               
               
          #3 
           
         
        
          Pode ser uma classe java sim, do jeito que vc fez, mas esse seu atributo está instanciado? Pela saída que vc colocou ai, nao…e o XStream não imprime no xml os atribulos nulos
         
         
        
            
            
            
         
         
             
             
          
       
      
        
        
          Consegui… Segue a solução:
[code]public class Test {
public static void main(String[] args) {
	String x = "<proposicao Ano='2010' Numero='8050' Tipo='PL' data='1154097812245'><idProposicao>490340</idProposicao></proposicao>";
	XStream xstream1 = new XStream();
	xstream1.processAnnotations(ProposicaoWebServiceTO.class);
	xstream1.registerConverter(new Test().new TipoConverter());
	xstream1.registerConverter(new SingleValueCalendarConverter());
	System.out.println(xstream1.fromXML(x));
}
@XStreamAlias("proposicao")
class ProposicaoWebServiceTO {
	@XStreamAlias("idProposicao")
	private Long id;
	@XStreamAsAttribute
	@XStreamAlias("Tipo")
	private TipoProposicaoTO tipoProposicao;
	@XStreamAsAttribute
	@XStreamAlias("Numero")
	private int numero;
	
	@XStreamAsAttribute
	private GregorianCalendar data = new GregorianCalendar();
	
}
@Data
class TipoProposicaoTO {
	private String siglaProposicao;
}
 
}[/code]
         
         
        
            
            
            
         
         
             
             
          
       
      
        
        
          class TipoConverter implements SingleValueConverter {
		public String toString(Object obj) {
			return ((TipoProposicaoTO) obj).getSiglaProposicao();
		}
		public Object fromString(String name) {
			TipoProposicaoTO tipoProposicaoTO = new TipoProposicaoTO();
			tipoProposicaoTO.setSiglaProposicao(name);
			return tipoProposicaoTO;
		}
		public boolean canConvert(Class type) {
			return type.equals(TipoProposicaoTO.class);
		}
	}