Skip to content

Implement Proper Deep Cloning for RepoConfiguration and CliArguments #2119

@georgetayqy

Description

@georgetayqy

What feature(s) would you like to see in RepoSense

Currently, both Builder patterns implemented in RepoConfiguration and CliArguments are implemented in such a way that the Builder objects are one-use and cannot be reused to build new instances of RepoConfiguration and CliArguments.

This is not ideal since this prevents us from reusing Builder instances to construct duplicate instances of RepoConfiguration or CliArguments, which violates the Builder pattern and incurs an overhead if we would like to construct duplicate copies of RepoConfiguration or CliArguments.

Is the feature request related to a problem?

This issue is related to issues #2076, #2117 and PR #2078, #2118.

If possible, describe the solution

We could change the codebase in such a way that classes used in RepoConfiguration and CliArguments, as well as RepoConfiguration and CliArguments, implement the Cloneable interface and provide an implementation of the clone() method to allow for easier duplication and cloning of RepoConfiguration and CliArguments instances.

If applicable, describe alternatives you've considered

N/A

Additional context

N/A

Metadata

Metadata

Assignees

Type

No type

Projects

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions