001package gov.nist.secauto.oscal.lib.model; 002 003import gov.nist.secauto.metaschema.core.datatype.adapter.StringAdapter; 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 * Selecting a set of controls by matching their IDs with a wildcard pattern. 015 */ 016@MetaschemaAssembly( 017 formalName = "Match Controls by Pattern", 018 description = "Selecting a set of controls by matching their IDs with a wildcard pattern.", 019 name = "matching", 020 moduleClass = OscalProfileModule.class 021) 022public class Matching implements IBoundObject { 023 private final IMetaschemaData __metaschemaData; 024 025 /** 026 * "A <a href=\"https://en.wikipedia.org/wiki/Glob_(programming)\">glob expression</a> matching the IDs of one or more controls to be selected." 027 */ 028 @BoundFlag( 029 formalName = "Pattern", 030 description = "A [glob expression](https://en.wikipedia.org/wiki/Glob_(programming)) matching the IDs of one or more controls to be selected.", 031 name = "pattern", 032 typeAdapter = StringAdapter.class 033 ) 034 private String _pattern; 035 036 public Matching() { 037 this(null); 038 } 039 040 public Matching(IMetaschemaData data) { 041 this.__metaschemaData = data; 042 } 043 044 @Override 045 public IMetaschemaData getMetaschemaData() { 046 return __metaschemaData; 047 } 048 049 public String getPattern() { 050 return _pattern; 051 } 052 053 public void setPattern(String value) { 054 _pattern = value; 055 } 056 057 @Override 058 public String toString() { 059 return new ReflectionToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).toString(); 060 } 061}