package sharpen.xobotos.api; import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamAsAttribute; import com.thoughtworks.xstream.annotations.XStreamImplicit; import com.thoughtworks.xstream.annotations.XStreamOmitField; import sharpen.xobotos.api.actions.AbstractAction; import sharpen.xobotos.api.bindings.MemberBinding; import sharpen.xobotos.api.interop.NativeConfiguration; import sharpen.xobotos.api.interop.NativeHandle; import sharpen.xobotos.api.interop.marshal.MarshalInfo.MarshalEntry; import sharpen.xobotos.config.annotations.ReadIncludeFile; import sharpen.xobotos.config.annotations.ReferenceProvider; import sharpen.xobotos.config.xstream.IConfigurationFile; import sharpen.xobotos.output.OutputType; import java.util.List; @ReferenceProvider @XStreamAlias(value = "templates") public class TemplateSection extends AbstractReference implements IConfigurationFile { @SuppressWarnings("unused") @XStreamImplicit(itemFieldName = "action") private List<AbstractAction> _actions; @SuppressWarnings("unused") @XStreamImplicit(itemFieldName = "templates") private List<TemplateSection> _templates; @SuppressWarnings("unused") @XStreamImplicit(itemFieldName = "output-type") private List<OutputType> _outputTypes; @SuppressWarnings("unused") @XStreamImplicit(itemFieldName = "binding") private List<MemberBinding> _bindings; @SuppressWarnings("unused") @XStreamImplicit(itemFieldName = "native-config") private List<NativeConfiguration> _nativeConfig; @SuppressWarnings("unused") @XStreamImplicit(itemFieldName = "include-file") private List<IncludeFile> _includeFiles; @SuppressWarnings("unused") @XStreamImplicit(itemFieldName = "marshal-info") private List<MarshalEntry> _marshalInfo; @SuppressWarnings("unused") @XStreamImplicit(itemFieldName = "native-handle") private List<NativeHandle> _nativeHandle; @ReadIncludeFile(contentsField = "_contents", fileNameField = "_fileName", fileType = TemplateSection.class) public static final class IncludeFile { @XStreamAsAttribute @XStreamAlias("file") @SuppressWarnings("unused") private String _fileName; @XStreamOmitField @SuppressWarnings("unused") private TemplateSection _contents; } }