fieldMembers

Talks about: <a class="post-tag post-tag-annotations" href="/tags/annotations">annotations</a>

The annotation members to use for fields.

Configuration Options

Option: ‘WITHOUT_DATE’

The default value of the fieldMembers configuration option is WITHOUT_DATE. Setting the option to WITHOUT_DATE therefore produces the same code generated as the default configuration.

package com.example.persistence;

import javax.annotation.processing.Generated;

public class SomeRepository {

    @Generated(
        value = "YoSQL",
        comments = "DO NOT MODIFY - automatically generated by YoSQL"
    )
    private Object someField;

    // ... rest of generated code

}

Option: ‘ALL’

Changing the fieldMembers configuration option to ALL outputs all annotation members.

package com.example.persistence;

import javax.annotation.processing.Generated;

public class SomeRepository {

    @Generated(
        value = "YoSQL",
        date = "<current_timestamp>",
        comments = "DO NOT MODIFY - automatically generated by YoSQL"
    )
    private Object someField;

    // ... rest of generated code

}

Option: ‘NONE’

Changing the fieldMembers configuration option to NONE outputs no annotation members.

package com.example.persistence;

import javax.annotation.processing.Generated;

public class SomeRepository {

  @Generated
  private Object someField;

  // ... rest of generated code

}

Option: ‘VALUE’

Changing the fieldMembers configuration option to VALUE outputs only the value member.

package com.example.persistence;

import javax.annotation.processing.Generated;

public class SomeRepository {

  @Generated(
      value = "YoSQL"
  )
  private Object someField;

  // ... rest of generated code

}

Option: ‘DATE’

Changing the fieldMembers configuration option to DATE outputs only the date member.

package com.example.persistence;

import javax.annotation.processing.Generated;

public class SomeRepository {

  @Generated(
      date = "<current_timestamp>"
  )
  private Object someField;

  // ... rest of generated code

}

Option: ‘COMMENT’

Changing the fieldMembers configuration option to COMMENT outputs only the comment member.

package com.example.persistence;

import javax.annotation.processing.Generated;

public class SomeRepository {

  @Generated(
      comments = "DO NOT MODIFY - automatically generated by YoSQL"
  )
  private Object someField;

  // ... rest of generated code

}

Tooling

Ant

In order to use YoSQL together with Ant, take a look at the tooling documentation for Ant.

Bazel

In order to use YoSQL together with Bazel, take a look at the tooling documentation for Bazel.

CLI

In order to use YoSQL on the command line, take a look at the tooling documentation for CLI.

$ yosql --annotations-field-members=configValue

As long as the name of the config option is unique across all configuration groups, you can use the shorter form:

$ yosql --field-members=configValue

Gradle

In order to use YoSQL together with Gradle, take a look at the tooling documentation for Gradle. The fieldMembers setting can be configured using Gradle in Kotlin syntax like this:

plugins {
  java
  id("wtf.metio.yosql") version "2023.2.22"
}

yosql {
  annotations {
    fieldMembers.set(configValue)
  }
}

or in Groovy syntax like this:

plugins {
  id "java"
  id "wtf.metio.yosql" version "2023.2.22"
}

yosql {
  annotations {
    fieldMembers = configValue
  }
}

Maven

In order to use YoSQL together with Maven, take a look at the tooling documentation for Maven. The fieldMembers setting can be configured using Maven like this:

<build>
  <plugins>
    <plugin>
      <groupId>wtf.metio.yosql</groupId>
      <artifactId>yosql-tooling-maven</artifactId>
      <version>2023.2.22</version>
      <configuration>
        <annotations>
          <fieldMembers>configValue</fieldMembers>
        </annotations>
      </configuration>
    </plugin>
  </plugins>
</build>