All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.vladsch.flexmark.util.visitor.AstHandler Maven / Gradle / Ivy

There is a newer version: 4.15.102
Show newest version
package com.vladsch.flexmark.util.visitor;

import org.jetbrains.annotations.NotNull;

/**
 * Base class for tracking generic node to specific node handler
 *
 * @param  node subclass
 * @param  node action
 */
abstract public class AstHandler> {
    final private @NotNull Class aClass;
    final private @NotNull A adapter;

    public AstHandler(@NotNull Class klass, @NotNull A adapter) {
        aClass = klass;
        this.adapter = adapter;
    }

    public @NotNull Class getNodeType() {
        return aClass;
    }

    public @NotNull A getAdapter() {
        return adapter;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        AstHandler other = (AstHandler) o;

        if (aClass != other.aClass) return false;
        return adapter == other.adapter;
    }

    @Override
    public int hashCode() {
        int result = aClass.hashCode();
        result = 31 * result + adapter.hashCode();
        return result;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy