001package gov.nist.secauto.oscal.lib.model;
002
003import gov.nist.secauto.metaschema.core.datatype.adapter.TokenAdapter;
004import gov.nist.secauto.metaschema.core.model.IBoundObject;
005import gov.nist.secauto.metaschema.core.model.IMetaschemaData;
006import gov.nist.secauto.metaschema.databind.model.annotations.BoundFlag;
007import gov.nist.secauto.metaschema.databind.model.annotations.MetaschemaAssembly;
008import java.lang.Override;
009import java.lang.String;
010import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
011import org.apache.commons.lang3.builder.ToStringStyle;
012
013/**
014 * Used to select a control objective for inclusion/exclusion based on the control objective's identifier.
015 */
016@MetaschemaAssembly(
017    formalName = "Select Objective",
018    description = "Used to select a control objective for inclusion/exclusion based on the control objective's identifier.",
019    name = "select-objective-by-id",
020    moduleClass = OscalAssessmentCommonModule.class
021)
022public class SelectObjectiveById implements IBoundObject {
023  private final IMetaschemaData __metaschemaData;
024
025  /**
026   * "Points to an assessment objective."
027   */
028  @BoundFlag(
029      formalName = "Objective ID",
030      description = "Points to an assessment objective.",
031      name = "objective-id",
032      required = true,
033      typeAdapter = TokenAdapter.class
034  )
035  private String _objectiveId;
036
037  public SelectObjectiveById() {
038    this(null);
039  }
040
041  public SelectObjectiveById(IMetaschemaData data) {
042    this.__metaschemaData = data;
043  }
044
045  @Override
046  public IMetaschemaData getMetaschemaData() {
047    return __metaschemaData;
048  }
049
050  public String getObjectiveId() {
051    return _objectiveId;
052  }
053
054  public void setObjectiveId(String value) {
055    _objectiveId = value;
056  }
057
058  @Override
059  public String toString() {
060    return new ReflectionToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).toString();
061  }
062}