class LinkConditionFuncKey {
    private String roleName;
    private String domainName;

    public LinkConditionFuncKey(String roleName, String domainName) {
        this.roleName = roleName;
        this.domainName = domainName;
    }

    public String getRoleName() {
        return roleName;
    }

    public void setRoleName(String roleName) {
        this.roleName = roleName;
    }

    public String getDomainName() {
        return domainName;
    }

    public void setDomainName(String domainName) {
        this.domainName = domainName;
    }

    @Override
    public boolean equals(Object o) {<FILL_FUNCTION_BODY>}

    @Override
    public int hashCode() {
        return Objects.hash(roleName, domainName);
    }
}

        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        LinkConditionFuncKey that = (LinkConditionFuncKey) o;
        return Objects.equals(roleName, that.roleName) &&
            Objects.equals(domainName, that.domainName);
    
<no_super_class>