org.eclipse.persistence.jpa.rs.util.ConcreteSubclassFactory Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of eclipselink Show documentation
Show all versions of eclipselink Show documentation
EclipseLink build based upon Git transaction 774c696
/*******************************************************************************
* Copyright (c) 2011, 2013 Oracle and/or its affiliates. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
* which accompanies this distribution.
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
* and the Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* Contributors:
* gonural - initial
******************************************************************************/
package org.eclipse.persistence.jpa.rs.util;
/**
* Factory class to create concrete subclasses of abstract classes.
*
* This class is used in JPA-RS JAXB mappings to create InstantiationPolicy for abstract classes
* @see PreLoginMappingAdapter
*
* @author gonural
*
*/
public class ConcreteSubclassFactory {
@SuppressWarnings("rawtypes")
private Class clazz = null;
/**
* Instantiates a new concrete subclass factory.
*
* @param clazz the clazz
*/
@SuppressWarnings("rawtypes")
public ConcreteSubclassFactory(Class clazz) {
super();
this.clazz = clazz;
}
/**
* Creates a new ConcreteSubclass object.
*
* @return the object
* @throws InstantiationException the instantiation exception
* @throws IllegalAccessException the illegal access exception
*/
public Object createConcreteSubclass() throws InstantiationException, IllegalAccessException {
return clazz.newInstance();
}
}