Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

#FacetsAndReqEqualsContract #325

Open
RamAnvesh opened this issue Feb 1, 2025 · 0 comments
Open

#FacetsAndReqEqualsContract #325

RamAnvesh opened this issue Feb 1, 2025 · 0 comments
Milestone

Comments

@RamAnvesh
Copy link
Collaborator

We need to formalize this equals and hashcode contract:
Two implementations of the Vajram_Fac interface of the same vajram must always be equal if they have the same facet values irrespective of implementation.
Two implementations of the Vajram_Req interface of the same vajram must always be equal if they have the same input values irrespective of the implementation.
(This is analogous to the equals contract mandated in the Set and List interfaces - this is the reason and array list and a linked list are equal if they have the same elements in the same order even though they are different classes)

We need to do this to abstract out implementation details like serialization protocols etc of facets and request interfaces.
WE can do this in two ways:

  1. Just document this and implement the logic in all impl classes
  2. Make the Vajram_Fac and Vajram_Req interfaces into abstract classes which have a final equals method which implements this contract.
@RamAnvesh RamAnvesh added this to the v9 milestone Feb 1, 2025
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant