java.lang.Object
com.microservices.starter.core.environment.Project
All Implemented Interfaces:
Serializable

public class Project extends Object implements Serializable
Client specific maven project structure information
See Also:
  • Constructor Details

    • Project

      public Project()
  • Method Details

    • getGroupId

      public String getGroupId()
    • getArtifactIdPrefix

      public String getArtifactIdPrefix()
    • getPackageName

      public String getPackageName()
    • getVersion

      public String getVersion()
    • getClusterServiceType

      public ClusterServiceType getClusterServiceType()
      The Camel Cluster Service implementation type to use, per environment. Valid values are file, kubernetes, and zookeeper. Optional.
    • getSampleCode

      public Boolean getSampleCode()
      Whether to include sample code (autoconfiguration, sample domain, and test) for an enabled service library component during project structure generation. Optional. False by default. If declared at the Component level, that value will override this one.
    • getStarterParentVersion

      public String getStarterParentVersion()
      The starter parent version to target for this project. This drives a harmonized combination of related dependency versions, including release train. The starter parent version generally matches up with a release train version. Required.
    • getUseAlpineJavaImages

      public Boolean getUseAlpineJavaImages()
      Whether Alpine Linux Temurin java images should be used for flexpackage image generation, as well as for config server and gateway image references. Alpine images will be the most secure with the fewest OS vulns. Optional. True by default. Note, the Alpine Linux Temurin Java image is available only in amd64 at Java 17, so arm64-based machines must be capable of emulating (e.g. qemu or rosetta2). Such a situation is suitable for development. However, if an arm64 processor is being used in production, then this setting should be set to false for the performance benefit. Note, for Java 21, the alpine image is truly multi-platform and should be safely consumed on both amd64 and arm64.
    • getJavaMajorVersion

      public String getJavaMajorVersion()
      The major version of java to use when creating container images for flex components. This will determine the base image used based on a particular Java version when executing containerized components in the target execution environment (e.g. docker compose or kubernetes). Valid values are 17 and 21. The default value is 17.
    • getUpgradeOSOnBuild

      public Boolean getUpgradeOSOnBuild()
      Whether an OS upgrade command should be executed during the Dockerfile construction for a module (e.g. apk upgrade). Optional. False by default, which will avoid unnecessary layer churn.
    • getTenantUrlResolverApplicationPort

      public String getTenantUrlResolverApplicationPort()
      Optionally configure a specific port for Tenant URL Application resolution. If nothing is specified, the FlexPackageEnvironmentPostProcessor will attempt to find the primary port for the corresponding commerce gateway to set (@code UrlResolverProperties). Tenant's DefaultTenantResolver will by default validate all NON-standard ports configured in (@code UrlResolverProperties) i.e. not "80" or "443". Setting this to a standard port allows for validation of the domain without the port as long as the port is not passed in with the url being resolved.
    • getTenantUrlResolverAdminPort

      public String getTenantUrlResolverAdminPort()
      Optionally configure a specific port for Tenant URL Admin resolution. If nothing is specified, the FlexPackageEnvironmentPostProcessor will attempt to find the primary port for the corresponding admin gateway to set (@code UrlResolverProperties). Tenant's DefaultTenantResolver will by default validate all NON-standard ports configured in (@code UrlResolverProperties) i.e. not "80" or "443". Setting this to a standard port allows for validation of the domain without the port as long as the port is not passed in with the url being resolved.
    • getReleaseTrainVersionOverride

      public String getReleaseTrainVersionOverride()
      Values to set as overrides for the same properties declared in the starter parent. If declared, one or more properties with the override values are generated in the project pom files during a flex-maven-plugin generate goal execution. Optional.
    • getReleaseTrainGroupIdOverride

      public String getReleaseTrainGroupIdOverride()
    • getReleaseTrainArtifactIdOverride

      public String getReleaseTrainArtifactIdOverride()
    • getJpaCoreVersionOverride

      public String getJpaCoreVersionOverride()
    • getGatewayVersionOverride

      public String getGatewayVersionOverride()
    • getAdminStarterDockerVersionOverride

      public String getAdminStarterDockerVersionOverride()
    • getAdminStarterAssemblyVersionOverride

      public String getAdminStarterAssemblyVersionOverride()
    • getCommerceStarterThemedWebDockerVersionMapOverride

      public String getCommerceStarterThemedWebDockerVersionMapOverride()
    • getCommerceStarterThemedWebAssemblyVersionMapOverride

      public String getCommerceStarterThemedWebAssemblyVersionMapOverride()
    • getCommerceStarterThemeOverride

      public String getCommerceStarterThemeOverride()
    • getCommerceStarterDockerVersionOverride

      public String getCommerceStarterDockerVersionOverride()
    • getCommerceStarterAssemblyVersionOverride

      public String getCommerceStarterAssemblyVersionOverride()
    • getSearchVersionOverride

      public String getSearchVersionOverride()
    • getOpenApiDockerVersionOverride

      public String getOpenApiDockerVersionOverride()
    • getOpenApiAssemblyVersionOverride

      public String getOpenApiAssemblyVersionOverride()
    • getConfigServerVersionOverride

      public String getConfigServerVersionOverride()
    • setGroupId

      public void setGroupId(String groupId)
    • setArtifactIdPrefix

      public void setArtifactIdPrefix(String artifactIdPrefix)
    • setPackageName

      public void setPackageName(String packageName)
    • setVersion

      public void setVersion(String version)
    • setClusterServiceType

      public void setClusterServiceType(ClusterServiceType clusterServiceType)
      The Camel Cluster Service implementation type to use, per environment. Valid values are file, kubernetes, and zookeeper. Optional.
    • setSampleCode

      public void setSampleCode(Boolean sampleCode)
      Whether to include sample code (autoconfiguration, sample domain, and test) for an enabled service library component during project structure generation. Optional. False by default. If declared at the Component level, that value will override this one.
    • setStarterParentVersion

      public void setStarterParentVersion(String starterParentVersion)
      The starter parent version to target for this project. This drives a harmonized combination of related dependency versions, including release train. The starter parent version generally matches up with a release train version. Required.
    • setUseAlpineJavaImages

      public void setUseAlpineJavaImages(Boolean useAlpineJavaImages)
      Whether Alpine Linux Temurin java images should be used for flexpackage image generation, as well as for config server and gateway image references. Alpine images will be the most secure with the fewest OS vulns. Optional. True by default. Note, the Alpine Linux Temurin Java image is available only in amd64 at Java 17, so arm64-based machines must be capable of emulating (e.g. qemu or rosetta2). Such a situation is suitable for development. However, if an arm64 processor is being used in production, then this setting should be set to false for the performance benefit. Note, for Java 21, the alpine image is truly multi-platform and should be safely consumed on both amd64 and arm64.
    • setJavaMajorVersion

      public void setJavaMajorVersion(String javaMajorVersion)
      The major version of java to use when creating container images for flex components. This will determine the base image used based on a particular Java version when executing containerized components in the target execution environment (e.g. docker compose or kubernetes). Valid values are 17 and 21. The default value is 17.
    • setUpgradeOSOnBuild

      public void setUpgradeOSOnBuild(Boolean upgradeOSOnBuild)
      Whether an OS upgrade command should be executed during the Dockerfile construction for a module (e.g. apk upgrade). Optional. False by default, which will avoid unnecessary layer churn.
    • setTenantUrlResolverApplicationPort

      public void setTenantUrlResolverApplicationPort(String tenantUrlResolverApplicationPort)
      Optionally configure a specific port for Tenant URL Application resolution. If nothing is specified, the FlexPackageEnvironmentPostProcessor will attempt to find the primary port for the corresponding commerce gateway to set (@code UrlResolverProperties). Tenant's DefaultTenantResolver will by default validate all NON-standard ports configured in (@code UrlResolverProperties) i.e. not "80" or "443". Setting this to a standard port allows for validation of the domain without the port as long as the port is not passed in with the url being resolved.
    • setTenantUrlResolverAdminPort

      public void setTenantUrlResolverAdminPort(String tenantUrlResolverAdminPort)
      Optionally configure a specific port for Tenant URL Admin resolution. If nothing is specified, the FlexPackageEnvironmentPostProcessor will attempt to find the primary port for the corresponding admin gateway to set (@code UrlResolverProperties). Tenant's DefaultTenantResolver will by default validate all NON-standard ports configured in (@code UrlResolverProperties) i.e. not "80" or "443". Setting this to a standard port allows for validation of the domain without the port as long as the port is not passed in with the url being resolved.
    • setReleaseTrainVersionOverride

      public void setReleaseTrainVersionOverride(String releaseTrainVersionOverride)
      Values to set as overrides for the same properties declared in the starter parent. If declared, one or more properties with the override values are generated in the project pom files during a flex-maven-plugin generate goal execution. Optional.
    • setReleaseTrainGroupIdOverride

      public void setReleaseTrainGroupIdOverride(String releaseTrainGroupIdOverride)
    • setReleaseTrainArtifactIdOverride

      public void setReleaseTrainArtifactIdOverride(String releaseTrainArtifactIdOverride)
    • setJpaCoreVersionOverride

      public void setJpaCoreVersionOverride(String jpaCoreVersionOverride)
    • setGatewayVersionOverride

      public void setGatewayVersionOverride(String gatewayVersionOverride)
    • setAdminStarterDockerVersionOverride

      public void setAdminStarterDockerVersionOverride(String adminStarterDockerVersionOverride)
    • setAdminStarterAssemblyVersionOverride

      public void setAdminStarterAssemblyVersionOverride(String adminStarterAssemblyVersionOverride)
    • setCommerceStarterThemedWebDockerVersionMapOverride

      public void setCommerceStarterThemedWebDockerVersionMapOverride(String commerceStarterThemedWebDockerVersionMapOverride)
    • setCommerceStarterThemedWebAssemblyVersionMapOverride

      public void setCommerceStarterThemedWebAssemblyVersionMapOverride(String commerceStarterThemedWebAssemblyVersionMapOverride)
    • setCommerceStarterThemeOverride

      public void setCommerceStarterThemeOverride(String commerceStarterThemeOverride)
    • setCommerceStarterDockerVersionOverride

      public void setCommerceStarterDockerVersionOverride(String commerceStarterDockerVersionOverride)
    • setCommerceStarterAssemblyVersionOverride

      public void setCommerceStarterAssemblyVersionOverride(String commerceStarterAssemblyVersionOverride)
    • setSearchVersionOverride

      public void setSearchVersionOverride(String searchVersionOverride)
    • setOpenApiDockerVersionOverride

      public void setOpenApiDockerVersionOverride(String openApiDockerVersionOverride)
    • setOpenApiAssemblyVersionOverride

      public void setOpenApiAssemblyVersionOverride(String openApiAssemblyVersionOverride)
    • setConfigServerVersionOverride

      public void setConfigServerVersionOverride(String configServerVersionOverride)
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • canEqual

      protected boolean canEqual(Object other)
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object