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

com.feilong.lib.xstream.core.util.FastField Maven / Gradle / Ivy

Go to download

feilong is a suite of core and expanded libraries that include utility classes, http, excel,cvs, io classes, and much much more.

There is a newer version: 4.0.8
Show newest version
/*
 * Copyright (C) 2008, 2010 XStream Committers.
 * All rights reserved.
 *
 * The software in this package is published under the terms of the BSD
 * style license a copy of which has been included with this distribution in
 * the LICENSE.txt file.
 *
 * Created on 13. October 2008 by Joerg Schaible
 */
package com.feilong.lib.xstream.core.util;

public final class FastField{

    private final String name;

    private final String declaringClass;

    public FastField(String definedIn, String name){
        this.name = name;
        this.declaringClass = definedIn;
    }

    public FastField(Class definedIn, String name){
        this(definedIn == null ? null : definedIn.getName(), name);
    }

    public String getName(){
        return this.name;
    }

    public String getDeclaringClass(){
        return this.declaringClass;
    }

    @Override
    public boolean equals(Object obj){
        if (this == obj){
            return true;
        }
        if (obj == null){
            return false;
        }
        if (obj instanceof FastField){
            final FastField field = (FastField) obj;
            if ((declaringClass == null && field.declaringClass != null) || (declaringClass != null && field.declaringClass == null)){
                return false;
            }
            return name.equals(field.getName()) && (declaringClass == null || declaringClass.equals(field.getDeclaringClass()));
        }
        return false;
    }

    @Override
    public int hashCode(){
        return name.hashCode() ^ (declaringClass == null ? 0 : declaringClass.hashCode());
    }

    @Override
    public String toString(){
        return (declaringClass == null ? "" : declaringClass + ".") + name;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy