001package org.schemastore.json.sarif.x210;
002
003import gov.nist.secauto.metaschema.core.model.IBoundObject;
004import gov.nist.secauto.metaschema.core.model.IMetaschemaData;
005import gov.nist.secauto.metaschema.databind.model.annotations.BoundAssembly;
006import gov.nist.secauto.metaschema.databind.model.annotations.MetaschemaAssembly;
007import java.lang.Override;
008import java.lang.String;
009import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
010import org.apache.commons.lang3.builder.ToStringStyle;
011
012/**
013 * The analysis tool used.
014 */
015@MetaschemaAssembly(
016    formalName = "Tool",
017    description = "The analysis tool used.",
018    name = "tool",
019    moduleClass = SarifModule.class
020)
021public class Tool implements IBoundObject {
022  private final IMetaschemaData __metaschemaData;
023
024  @BoundAssembly(
025      useName = "driver"
026  )
027  private ToolComponent _driver;
028
029  public Tool() {
030    this(null);
031  }
032
033  public Tool(IMetaschemaData data) {
034    this.__metaschemaData = data;
035  }
036
037  @Override
038  public IMetaschemaData getMetaschemaData() {
039    return __metaschemaData;
040  }
041
042  public ToolComponent getDriver() {
043    return _driver;
044  }
045
046  public void setDriver(ToolComponent value) {
047    _driver = value;
048  }
049
050  @Override
051  public String toString() {
052    return new ReflectionToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).toString();
053  }
054}