/******************************************************************************* * Copyright 2013 SAP AG * * 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 com.sap.core.odata.processor.api.jpa.model; import java.util.List; import com.sap.core.odata.api.edm.provider.EntityType; /** * A view on Java Persistence entity types and EDM entity types. Java * persistence entity types are converted into EDM entity types. * <p> * The implementation of the view provides access to EDM entity types for the * given JPA EDM model. The view acts as a container for consistent list of EDM * entity types. An EDM entity type is said to be consistent only if it has at * least one consistent EDM property and at least one consistent EDM key. * * @author SAP AG * <p> * @DoNotImplement * @see com.sap.core.odata.processor.api.jpa.model.JPAEdmPropertyView * @see com.sap.core.odata.processor.api.jpa.model.JPAEdmKeyView * @see com.sap.core.odata.processor.api.jpa.model.JPAEdmNavigationPropertyView * */ public interface JPAEdmEntityTypeView extends JPAEdmBaseView { /** * The method returns an EDM entity currently being processed. * * @return an instance of type * {@link com.sap.core.odata.api.edm.provider.EntityType} */ public EntityType getEdmEntityType(); /** * The method returns java persistence Entity type currently being * processed. * * @return an instance of type * {@link javax.persistence.metamodel.EntityType} */ public javax.persistence.metamodel.EntityType<?> getJPAEntityType(); /** * The method returns a consistent list of EDM entity types for a given java * persistence meta model. * * @return a list of {@link com.sap.core.odata.api.edm.provider.EntityType} */ public List<EntityType> getConsistentEdmEntityTypes(); /** * The method searches in the consistent list of EDM entity types for the * given EDM entity type's name. * * @param jpaEntityTypeName * is the name of EDM entity type * @return a reference to EDM entity type if found else null */ public EntityType searchEdmEntityType(String jpaEntityTypeName); }