001package gov.nist.secauto.oscal.lib.model;
002
003import gov.nist.secauto.metaschema.binding.model.annotations.BoundFlag;
004import gov.nist.secauto.metaschema.binding.model.annotations.MetaschemaAssembly;
005import gov.nist.secauto.metaschema.model.common.datatype.adapter.StringAdapter;
006import java.lang.Override;
007import java.lang.String;
008import org.apache.commons.lang3.builder.MultilineRecursiveToStringStyle;
009import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
010
011/**
012 * Selecting a set of controls by matching their IDs with a wildcard pattern.
013 */
014@MetaschemaAssembly(
015    formalName = "Match Controls by Pattern",
016    description = "Selecting a set of controls by matching their IDs with a wildcard pattern.",
017    name = "matching",
018    metaschema = OscalProfileMetaschema.class
019)
020public class Matching {
021  @BoundFlag(
022      formalName = "Pattern",
023      description = "A [glob expression](https://en.wikipedia.org/wiki/Glob_(programming)) matching the IDs of one or more controls to be selected.",
024      useName = "pattern",
025      typeAdapter = StringAdapter.class
026  )
027  private String _pattern;
028
029  public Matching() {
030  }
031
032  public String getPattern() {
033    return _pattern;
034  }
035
036  public void setPattern(String value) {
037    _pattern = value;
038  }
039
040  @Override
041  public String toString() {
042    return new ReflectionToStringBuilder(this, MultilineRecursiveToStringStyle.MULTI_LINE_STYLE).toString();
043  }
044}