/**
  * Identifies the specific version of a product (tag: software_id).
  *
  * @param uniqueId software unique ID
  * @param tagCreatorRegid tag creator registration ID
  * @return a reference to this object.
  */
 public DefaultSwidProcessor setSoftwareId(final String uniqueId, final String tagCreatorRegid) {
   swidTag.setSoftwareId(
       new SoftwareIdComplexType(
           new Token(uniqueId, idGenerator.nextId()),
           new RegistrationId(tagCreatorRegid, idGenerator.nextId()),
           idGenerator.nextId()));
   return this;
 }
 /**
  * Identifies the tag creator (tag: tag_creator).
  *
  * <p>Example data format: <i>“regid.2010-04.com.labs64,NLIC”</i> where:
  *
  * <ul>
  *   <li>regid = registered id
  *   <li>2010-04 = the year and first month the domain was registered (yyyy-mm)
  *   <li>com = the upper level domain
  *   <li>labs64 = the domain name
  *   <li>NLIC = the name of the business unit (BU) that created the SWID tag
  * </ul>
  *
  * <p>Note that everything after the comma ‘,’ is optional and only required if a software title
  * is specific
  *
  * @param tagCreatorName tag creator name
  * @param tagCreatorRegId tag creator registration ID
  * @return a reference to this object.
  */
 public DefaultSwidProcessor setTagCreator(
     final String tagCreatorName, final String tagCreatorRegId) {
   swidTag.setTagCreator(
       new EntityComplexType(
           new Token(tagCreatorName, idGenerator.nextId()),
           new RegistrationId(tagCreatorRegId, idGenerator.nextId()),
           idGenerator.nextId()));
   return this;
 }
 /**
  * Identifies whether this product needs to match up with an entitlement for a reconciliation to
  * be considered successful (tag: entitlement_required_indicator).
  *
  * <p>Specifies if an entitlement is required to reconcile this product. Example data format: XX =
  * entitlement status ( <code>true</code> = entitlement required; <code>false</code> = no
  * entitlement required).
  *
  * @param entitlementRequiredIndicator entitlements required indicator
  * @return a reference to this object.
  */
 public DefaultSwidProcessor setEntitlementRequiredIndicator(
     final boolean entitlementRequiredIndicator) {
   swidTag.setEntitlementRequiredIndicator(
       new org.iso.standards.iso._19770.__2._2009.schema.Boolean(
           entitlementRequiredIndicator, idGenerator.nextId()));
   return this;
 }
 /**
  * Identifies the product version (tag: product_version) using two values – numeric version and
  * version string.
  *
  * @param productVersion product version
  * @param productVersionMajor product major version
  * @param productVersionMinor product minor version
  * @param productVersionBuild product build version
  * @param productVersionReview product review version
  * @return a reference to this object.
  */
 public DefaultSwidProcessor setProductVersion(
     final String productVersion,
     final long productVersionMajor,
     final long productVersionMinor,
     final long productVersionBuild,
     final long productVersionReview) {
   final NumericVersionComplexType numericVersion =
       new NumericVersionComplexType(
           new UInt(productVersionMajor, idGenerator.nextId()),
           new UInt(productVersionMinor, idGenerator.nextId()),
           new UInt(productVersionBuild, idGenerator.nextId()),
           new UInt(productVersionReview, idGenerator.nextId()),
           idGenerator.nextId());
   swidTag.setProductVersion(
       new ProductVersionComplexType(
           new Token(productVersion, idGenerator.nextId()), numericVersion, idGenerator.nextId()));
   return this;
 }
 /**
  * Accurately identifies the product (tag: product_title).
  *
  * @param productTitle product title
  * @return a reference to this object.
  */
 public DefaultSwidProcessor setProductTitle(final String productTitle) {
   swidTag.setProductTitle(new Token(productTitle, idGenerator.nextId()));
   return this;
 }
 /**
  * Set element identifier generator.
  *
  * @param generator element identifier generator
  */
 public void setGenerator(final IdGenerator generator) {
   if (generator != null) {
     this.idGenerator = generator;
     swidTag.setId(idGenerator.nextId());
   }
 }