| package org.codehaus.jackson.sym; |
| |
| /** |
| * Base class for tokenized names (key strings in objects) that have |
| * been tokenized from byte-based input sources (like |
| * {@link java.io.InputStream}. |
| * |
| * @author Tatu Saloranta |
| */ |
| public abstract class Name |
| { |
| protected final String mName; |
| |
| protected final int mHashCode; |
| |
| protected Name(String name, int hashCode) { |
| mName = name; |
| mHashCode = hashCode; |
| } |
| |
| public String getName() { return mName; } |
| |
| /* |
| /********************************************************** |
| /* Methods for package/core parser |
| /********************************************************** |
| */ |
| |
| public abstract boolean equals(int quad1); |
| |
| public abstract boolean equals(int quad1, int quad2); |
| |
| public abstract boolean equals(int[] quads, int qlen); |
| |
| /* |
| /********************************************************** |
| /* Overridden standard methods |
| /********************************************************** |
| */ |
| |
| @Override |
| public String toString() { return mName; } |
| |
| @Override |
| public final int hashCode() { return mHashCode; } |
| |
| @Override |
| public boolean equals(Object o) |
| { |
| // Canonical instances, can usually just do identity comparison |
| return (o == this); |
| } |
| } |