name.remal.gradle_plugins.dsl.EnvironmentVariableInfo Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gradle-plugins-kotlin-dsl Show documentation
Show all versions of gradle-plugins-kotlin-dsl Show documentation
Remal Gradle plugins: gradle-plugins-kotlin-dsl
package name.remal.gradle_plugins.dsl;
import java.util.Objects;
import org.gradle.api.Project;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public interface EnvironmentVariableInfo {
@NotNull
String getVariableName();
@NotNull
String getDescription();
@Nullable
default String getPluginId() {
return null;
}
@Nullable
default Class> getPluginClass() {
return null;
}
@Nullable
default String getScope() {
return null;
}
@Nullable
default Class getConditionClass() {
return null;
}
@NotNull
default EnvironmentVariableInfo withPluginId(@Nullable String pluginId) {
String normalizedPluginId = pluginId != null && !pluginId.isEmpty() ? pluginId : null;
if (Objects.equals(getPluginId(), normalizedPluginId)) return this;
EnvironmentVariableInfo self = this;
return new EnvironmentVariableInfo() {
@Override
@NotNull
public String getVariableName() {
return self.getVariableName();
}
@Override
@NotNull
public String getDescription() {
return self.getDescription();
}
@Override
@Nullable
public String getPluginId() {
return normalizedPluginId;
}
@Override
@Nullable
public Class> getPluginClass() {
return self.getPluginClass();
}
@Override
@Nullable
public String getScope() {
return self.getScope();
}
@Override
@Nullable
public Class getConditionClass() {
return self.getConditionClass();
}
};
}
@NotNull
default EnvironmentVariableInfo withPluginClass(@Nullable Class> pluginClass) {
Class> normalizedPluginClass = NotDefinedProjectPlugin.class != pluginClass ? pluginClass : null;
if (Objects.equals(getPluginClass(), normalizedPluginClass)) return this;
EnvironmentVariableInfo self = this;
return new EnvironmentVariableInfo() {
@Override
@NotNull
public String getVariableName() {
return self.getVariableName();
}
@Override
@NotNull
public String getDescription() {
return self.getDescription();
}
@Override
@Nullable
public String getPluginId() {
return self.getPluginId();
}
@Override
@Nullable
public Class> getPluginClass() {
return normalizedPluginClass;
}
@Override
@Nullable
public String getScope() {
return self.getScope();
}
@Override
@Nullable
public Class getConditionClass() {
return self.getConditionClass();
}
};
}
@NotNull
default EnvironmentVariableInfo withScope(@Nullable String scope) {
String normalizedScope = scope != null && !scope.isEmpty() ? scope : null;
if (Objects.equals(getScope(), normalizedScope)) return this;
EnvironmentVariableInfo self = this;
return new EnvironmentVariableInfo() {
@Override
@NotNull
public String getVariableName() {
return self.getVariableName();
}
@Override
@NotNull
public String getDescription() {
return self.getDescription();
}
@Override
@Nullable
public String getPluginId() {
return self.getPluginId();
}
@Override
@Nullable
public Class> getPluginClass() {
return self.getPluginClass();
}
@Override
@Nullable
public String getScope() {
return normalizedScope;
}
@Override
@Nullable
public Class getConditionClass() {
return self.getConditionClass();
}
};
}
@NotNull
default EnvironmentVariableInfo withConditionClass(@Nullable Class conditionClass) {
Class normalizedConditionClass = NotDefinedEnvironmentVariableCondition.class != conditionClass ? conditionClass : null;
if (Objects.equals(getConditionClass(), normalizedConditionClass)) return this;
EnvironmentVariableInfo self = this;
return new EnvironmentVariableInfo() {
@Override
@NotNull
public String getVariableName() {
return self.getVariableName();
}
@Override
@NotNull
public String getDescription() {
return self.getDescription();
}
@Override
@Nullable
public String getPluginId() {
return self.getPluginId();
}
@Override
@Nullable
public Class> getPluginClass() {
return self.getPluginClass();
}
@Override
@Nullable
public String getScope() {
return self.getScope();
}
@Override
@Nullable
public Class getConditionClass() {
return normalizedConditionClass;
}
};
}
}