/* * Copyright 2006 Le Duc Bao, Ralf Joachim * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package org.castor.ddlgen.schemaobject; import org.castor.ddlgen.DDLGenConfiguration; /** * Abstract base class for all schema objects. * * @author <a href="mailto:leducbao AT gmail DOT com">Le Duc Bao</a> * @author <a href="mailto:ralf DOT joachim AT syscon DOT eu">Ralf Joachim</a> * @version $Revision: 5951 $ $Date: 2006-04-25 16:09:10 -0600 (Tue, 25 Apr 2006) $ * @since 1.1 */ public abstract class AbstractSchemaObject implements SchemaObject { //-------------------------------------------------------------------------- /** Factor for calculation of hash code. */ protected static final int HASHFACTOR = 17; /** Configuration of the schema object. */ private DDLGenConfiguration _config; /** Name of the schema object. */ private String _name; //-------------------------------------------------------------------------- /** * {@inheritDoc} */ public final void setConfiguration(final DDLGenConfiguration config) { _config = config; } /** * {@inheritDoc} */ public final DDLGenConfiguration getConfiguration() { return _config; } /** * {@inheritDoc} */ public final void setName(final String name) { _name = name; } /** * {@inheritDoc} */ public final String getName() { return _name; } //-------------------------------------------------------------------------- /** * Check the 2 given objects for equality by taking into account that one or both of * them may be <code>null</code>. * * @param obj1 First object. * @param obj2 Second object. * @return <code>true</code> if both objects are null or equal as defined by * equals method of object. <code>false</code> if only one of the objects * is null or if they are not equal. */ protected static final boolean equals(final Object obj1, final Object obj2) { if ((obj1 == null) && (obj2 == null)) { return true; } if ((obj1 == null) || (obj2 == null)) { return false; } return obj1.equals(obj2); } //-------------------------------------------------------------------------- }