// Path: RosettaCore/src/test/java/com/hubspot/rosetta/beans/StoredAsJsonTypeInfoBean.java
// class ConcreteStoredAsJsonTypeInfo implements StoredAsJsonTypeInfoBean {
//   private String generalValue;
//   private String concreteValue;
// 
//   @Override
//   public String getType() {
//     return "concrete";
//   }
// 
//   @Override
//   public String getGeneralValue() {
//     return generalValue;
//   }
// 
//   public void setGeneralValue(String generalValue) {
//     this.generalValue = generalValue;
//   }
// 
//   public String getConcreteValue() {
//     return concreteValue;
//   }
// 
//   public void setConcreteValue(String concreteValue) {
//     this.concreteValue = concreteValue;
//   }
// }


import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.annotation.JsonTypeInfo.As;
import com.fasterxml.jackson.annotation.JsonTypeInfo.Id;
import com.hubspot.rosetta.beans.StoredAsJsonTypeInfoBean.ConcreteStoredAsJsonTypeInfo;
package com.hubspot.rosetta.beans;


@JsonTypeInfo(use = Id.NAME, include = As.EXISTING_PROPERTY, property = "type")
@JsonSubTypes({
    @JsonSubTypes.Type(value = ConcreteStoredAsJsonTypeInfo.class, name = "concrete")
})
public interface StoredAsJsonTypeInfoBean {

  String getType();
  String getGeneralValue();

// Path: RosettaCore/src/test/java/com/hubspot/rosetta/beans/StoredAsJsonTypeInfoBean.java
// class ConcreteStoredAsJsonTypeInfo implements StoredAsJsonTypeInfoBean {
//   private String generalValue;
//   private String concreteValue;
// 
//   @Override
//   public String getType() {
//     return "concrete";
//   }
// 
//   @Override
//   public String getGeneralValue() {
//     return generalValue;
//   }
// 
//   public void setGeneralValue(String generalValue) {
//     this.generalValue = generalValue;
//   }
// 
//   public String getConcreteValue() {
//     return concreteValue;
//   }
// 
//   public void setConcreteValue(String concreteValue) {
//     this.concreteValue = concreteValue;
//   }
// }


// Path: RosettaCore/src/test/java/com/hubspot/rosetta/beans/StoredAsJsonTypeInfoBean.java
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.annotation.JsonTypeInfo.As;
import com.fasterxml.jackson.annotation.JsonTypeInfo.Id;
import com.hubspot.rosetta.beans.StoredAsJsonTypeInfoBean.ConcreteStoredAsJsonTypeInfo;

package com.hubspot.rosetta.beans;


@JsonTypeInfo(use = Id.NAME, include = As.EXISTING_PROPERTY, property = "type")
@JsonSubTypes({
    @JsonSubTypes.Type(value = ConcreteStoredAsJsonTypeInfo.class, name = "concrete")
})
public interface StoredAsJsonTypeInfoBean {

  String getType();
  String getGeneralValue();

  class ConcreteStoredAsJsonTypeInfo implements StoredAsJsonTypeInfoBean {