001package com.example.metaschema;
002
003import gov.nist.secauto.metaschema.core.datatype.adapter.StringAdapter;
004import gov.nist.secauto.metaschema.core.datatype.adapter.TokenAdapter;
005import gov.nist.secauto.metaschema.core.datatype.adapter.UriAdapter;
006import gov.nist.secauto.metaschema.core.model.IBoundObject;
007import gov.nist.secauto.metaschema.core.model.IMetaschemaData;
008import gov.nist.secauto.metaschema.databind.model.annotations.BoundFlag;
009import gov.nist.secauto.metaschema.databind.model.annotations.MetaschemaAssembly;
010import java.lang.Override;
011import java.lang.String;
012import java.net.URI;
013import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
014import org.apache.commons.lang3.builder.ToStringStyle;
015
016@MetaschemaAssembly(
017    formalName = "Property",
018    name = "property",
019    moduleClass = MetaschemaModelModule.class
020)
021public class Property implements IBoundObject {
022  private final IMetaschemaData __metaschemaData;
023
024  @BoundFlag(
025      formalName = "Property Name",
026      name = "name",
027      required = true,
028      typeAdapter = TokenAdapter.class
029  )
030  private String _name;
031
032  @BoundFlag(
033      formalName = "Property Namespace",
034      name = "namespace",
035      defaultValue = "http://csrc.nist.gov/ns/oscal/metaschema/1.0",
036      typeAdapter = UriAdapter.class
037  )
038  private URI _namespace;
039
040  @BoundFlag(
041      formalName = "Property Value",
042      name = "value",
043      required = true,
044      typeAdapter = StringAdapter.class
045  )
046  private String _value;
047
048  public Property() {
049    this(null);
050  }
051
052  public Property(IMetaschemaData data) {
053    this.__metaschemaData = data;
054  }
055
056  @Override
057  public IMetaschemaData getMetaschemaData() {
058    return __metaschemaData;
059  }
060
061  public String getName() {
062    return _name;
063  }
064
065  public void setName(String value) {
066    _name = value;
067  }
068
069  public URI getNamespace() {
070    return _namespace;
071  }
072
073  public void setNamespace(URI value) {
074    _namespace = value;
075  }
076
077  public String getValue() {
078    return _value;
079  }
080
081  public void setValue(String value) {
082    _value = value;
083  }
084
085  @Override
086  public String toString() {
087    return new ReflectionToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).toString();
088  }
089}