Matching.java

package gov.nist.secauto.oscal.lib.model;

import gov.nist.secauto.metaschema.core.datatype.adapter.StringAdapter;
import gov.nist.secauto.metaschema.core.model.IBoundObject;
import gov.nist.secauto.metaschema.core.model.IMetaschemaData;
import gov.nist.secauto.metaschema.databind.model.annotations.BoundFlag;
import gov.nist.secauto.metaschema.databind.model.annotations.MetaschemaAssembly;
import java.lang.Override;
import java.lang.String;
import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * Selecting a set of controls by matching their IDs with a wildcard pattern.
 */
@MetaschemaAssembly(
    formalName = "Match Controls by Pattern",
    description = "Selecting a set of controls by matching their IDs with a wildcard pattern.",
    name = "matching",
    moduleClass = OscalProfileModule.class
)
public class Matching implements IBoundObject {
  private final IMetaschemaData __metaschemaData;

  /**
   * "A <a href=\"https://en.wikipedia.org/wiki/Glob_(programming)\">glob expression</a> matching the IDs of one or more controls to be selected."
   */
  @BoundFlag(
      formalName = "Pattern",
      description = "A [glob expression](https://en.wikipedia.org/wiki/Glob_(programming)) matching the IDs of one or more controls to be selected.",
      name = "pattern",
      typeAdapter = StringAdapter.class
  )
  private String _pattern;

  public Matching() {
    this(null);
  }

  public Matching(IMetaschemaData data) {
    this.__metaschemaData = data;
  }

  @Override
  public IMetaschemaData getMetaschemaData() {
    return __metaschemaData;
  }

  public String getPattern() {
    return _pattern;
  }

  public void setPattern(String value) {
    _pattern = value;
  }

  @Override
  public String toString() {
    return new ReflectionToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).toString();
  }
}