/*******************************************************************************
 * Copyright (c) 2009 Oracle. All rights reserved.
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
 *
 * Contributors:
 *     Oracle - initial API and implementation
 ******************************************************************************/
package org.eclipse.jpt.ui.internal.details.java;

/**
 * The default implementation of the Java UI factory required to show the information
 * related to a JPA mapping (type or attribute).
 *
 * @see JavaUiFactory
 *
 * @version 3.0
 * @since 3.0
 */
public class GenericJavaUiFactory extends BaseJavaUiFactory
{
}
