|
EclipseLink 2.4.2, build 'v20130514-5956486' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.persistence.jpa.rs.PersistenceContext
public class PersistenceContext
A wrapper around the JPA and JAXB artifacts used to persist an application. A PersistenceContext provides the capability of using the same persistence unit in JPA to to interact with a Database or other JPA-capable data source and in JAXB to interact with either XML or JSON. A PersistenceContext can wrap either an existing persistence unit (EntityManagerFactory), or it can be used to bootstrap a fully dynamic persistence unit.
Field Summary | |
---|---|
protected java.util.List<XmlAdapter> |
adapters
|
protected java.net.URI |
baseURI
The URI of the Persistence context. |
protected JAXBContext |
context
The JAXBConext used to produce JSON or XML |
protected EntityManagerFactory |
emf
The EntityManagerFactory used to interact using JPA |
static java.lang.String |
JPARS_CONTEXT
|
protected java.lang.String |
name
The name of the persistence context is used to look it up. |
protected TransactionWrapper |
transaction
|
Constructor Summary | |
---|---|
protected |
PersistenceContext()
|
|
PersistenceContext(java.lang.String emfName,
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl emf,
java.net.URI defaultURI)
Instantiates a new persistence context. |
Method Summary | |
---|---|
protected void |
addDynamicXMLMetadataSources(java.util.List<java.lang.Object> metadataSources,
org.eclipse.persistence.internal.sessions.AbstractSession session)
This method is used to help construct a JAXBContext from an existing EntityManagerFactory. |
Query |
buildQuery(java.util.Map<java.lang.String,java.lang.String> tenantId,
java.lang.String name,
java.util.Map<?,?> parameters,
java.util.Map<java.lang.String,?> hints)
|
protected Query |
constructQuery(EntityManager em,
java.lang.String name,
java.util.Map<?,?> parameters,
java.util.Map<java.lang.String,?> hints)
|
void |
create(java.util.Map<java.lang.String,java.lang.String> tenantId,
java.lang.Object entity)
A part of the facade over the JPA API Persist an entity in JPA and commit |
protected JAXBContext |
createDynamicJAXBContext(org.eclipse.persistence.internal.sessions.AbstractSession session)
Create a JAXBContext based on the EntityManagerFactory for this PersistenceContext |
protected EntityManager |
createEntityManager(java.lang.String tenantId)
A part of the facade over the JPA API Create an EntityManager from the EntityManagerFactory wrapped by this persistence context |
protected org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl |
createEntityManagerFactory(PersistenceUnitInfo info,
java.util.Map<java.lang.String,?> properties)
A part of the facade over the JPA API Create an EntityManagerFactory using the given PersistenceUnitInfo and properties |
protected java.util.Map<java.lang.String,java.lang.Object> |
createJAXBProperties(org.eclipse.persistence.internal.sessions.AbstractSession session)
Build the set of properties used to create the JAXBContext based on the EntityManagerFactory that this PersistenceContext wraps |
void |
delete(java.util.Map<java.lang.String,java.lang.String> tenantId,
java.lang.String type,
java.lang.Object id)
A part of the facade over the JPA API Delete the given entity in JPA and commit the changes |
boolean |
doesExist(java.util.Map<java.lang.String,java.lang.String> tenantId,
java.lang.Object entity)
Does exist. |
void |
finalize()
Finalize. |
java.lang.Object |
find(java.util.Map<java.lang.String,java.lang.String> tenantId,
java.lang.String entityName,
java.lang.Object id)
A part of the facade over the JPA API Find an entity with the given name and id in JPA |
java.lang.Object |
find(java.util.Map<java.lang.String,java.lang.String> tenantId,
java.lang.String entityName,
java.lang.Object id,
java.util.Map<java.lang.String,java.lang.Object> properties)
A part of the facade over the JPA API Find an entity with the given name and id in JPA |
java.lang.Object |
find(java.lang.String entityName,
java.lang.Object id)
A part of the facade over the JPA API Find an entity with the given name and id in JPA |
java.lang.Object |
findAttribute(java.util.Map<java.lang.String,java.lang.String> tenantId,
java.lang.String entityName,
java.lang.Object id,
java.util.Map<java.lang.String,java.lang.Object> properties,
java.lang.String attribute)
Find attribute. |
protected java.util.List<XmlAdapter> |
getAdapters()
|
java.net.URI |
getBaseURI()
Gets the base uri. |
java.lang.Class<?> |
getClass(java.lang.String entityName)
Look-up the given entity name in the EntityManagerFactory and return the class is describes |
ClassDescriptor |
getDescriptor(java.lang.String entityName)
Lookup the descriptor for the given entity name. |
ClassDescriptor |
getDescriptorForClass(java.lang.Class clazz)
Gets the descriptor for class. |
EntityManagerFactory |
getEmf()
Gets the emf. |
JAXBContext |
getJAXBContext()
Gets the jAXB context. |
ClassDescriptor |
getJAXBDescriptorForClass(java.lang.Class clazz)
Gets the jAXB descriptor for class. |
DatabaseSession |
getJpaSession()
Gets the jpa session. |
java.lang.String |
getName()
Gets the name. |
java.lang.String |
getVersion()
|
boolean |
isWeavingEnabled()
|
void |
marshallEntity(java.lang.Object object,
javax.ws.rs.core.MediaType mediaType,
java.io.OutputStream output)
Marshall an entity to either JSON or XML Calling this method, will treat relationships as unfetched in the XML/JSON and marshall them as links rather than attempting to marshall the data in those relationships |
void |
marshallEntity(java.lang.Object object,
javax.ws.rs.core.MediaType mediaType,
java.io.OutputStream output,
boolean sendRelationships)
Marshall an entity to either JSON or XML |
java.lang.Object |
merge(java.util.Map<java.lang.String,java.lang.String> tenantId,
java.lang.Object entity)
A part of the facade over the JPA API Call jpa merge on the given object and commit If the passed object is a list, we will iterate through the list and merge each member |
DynamicEntity |
newEntity(java.util.Map<java.lang.String,java.lang.String> tenantId,
java.lang.String type)
A convenience method to create a new dynamic entity of the given type |
DynamicEntity |
newEntity(java.lang.String type)
A convenience method to create a new dynamic entity of the given type |
protected void |
postMarshallEntity(java.lang.Object object)
|
protected void |
preMarshallEntity(java.lang.Object object)
Process an entity and add any additional data that needs to be added prior to marshalling This method will both single entities and lists of entities |
protected void |
preMarshallIndividualEntity(java.lang.Object entity)
Add any data required prior to marshalling an entity to XML or JSON In general, this will only affect fields that have been weaved into the object |
int |
queryExecuteUpdate(java.util.Map<java.lang.String,java.lang.String> tenantId,
java.lang.String name,
java.util.Map<?,?> parameters,
java.util.Map<java.lang.String,?> hints)
Query execute update. |
java.util.List |
queryMultipleResults(java.util.Map<java.lang.String,java.lang.String> tenantId,
java.lang.String name,
java.util.Map<?,?> parameters,
java.util.Map<java.lang.String,?> hints)
Query multiple results. |
java.lang.Object |
removeAttribute(java.util.Map<java.lang.String,java.lang.String> tenantId,
java.lang.String entityName,
java.lang.Object id,
java.lang.String attribute,
java.lang.String listItemId,
java.lang.Object entity,
java.lang.String partner)
Removes the attribute. |
protected void |
removeMappingValueFromObject(java.lang.Object object,
java.lang.Object attributeValue,
DatabaseMapping mapping,
DatabaseMapping partner)
|
void |
setBaseURI(java.net.URI baseURI)
Sets the base uri. |
protected void |
setMappingValueInObject(java.lang.Object object,
java.lang.Object attributeValue,
DatabaseMapping mapping,
DatabaseMapping partner)
|
void |
setVersion(java.lang.String version)
|
void |
stop()
Stop the current application instance |
java.lang.String |
toString()
To string. |
java.lang.Object |
unmarshalEntity(java.lang.Class type,
javax.ws.rs.core.MediaType acceptedMedia,
java.io.InputStream in)
Marshall an entity to either JSON or XML |
java.lang.Object |
unmarshalEntity(java.lang.String type,
javax.ws.rs.core.MediaType acceptedMedia,
java.io.InputStream in)
Marshall an entity to either JSON or XML Calling this method, will treat relationships as unfetched in the XML/JSON and marshall them as links rather than attempting to marshall the data in those relationships |
java.lang.Object |
updateOrAddAttribute(java.util.Map<java.lang.String,java.lang.String> tenantId,
java.lang.String entityName,
java.lang.Object id,
java.util.Map<java.lang.String,java.lang.Object> properties,
java.lang.String attribute,
java.lang.Object attributeValue,
java.lang.String partner)
Update or add attribute. |
protected java.lang.Object |
wrap(java.lang.Object entity)
Make adjustments to an unmarshalled entity based on what is found in the weaved fields |
Methods inherited from class java.lang.Object |
---|
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String JPARS_CONTEXT
protected java.util.List<XmlAdapter> adapters
protected java.lang.String name
protected EntityManagerFactory emf
protected JAXBContext context
protected java.net.URI baseURI
protected TransactionWrapper transaction
Constructor Detail |
---|
protected PersistenceContext()
public PersistenceContext(java.lang.String emfName, org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl emf, java.net.URI defaultURI)
emfName
- the emf nameemf
- the emfdefaultURI
- the default uriMethod Detail |
---|
public boolean isWeavingEnabled()
public java.lang.String getVersion()
public void setVersion(java.lang.String version)
protected void addDynamicXMLMetadataSources(java.util.List<java.lang.Object> metadataSources, org.eclipse.persistence.internal.sessions.AbstractSession session)
metadataSources
- persistenceUnitName
- session
- public void create(java.util.Map<java.lang.String,java.lang.String> tenantId, java.lang.Object entity)
tenantId
- entity
- protected JAXBContext createDynamicJAXBContext(org.eclipse.persistence.internal.sessions.AbstractSession session) throws JAXBException, java.io.IOException
session
-
JAXBException
java.io.IOException
protected org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl createEntityManagerFactory(PersistenceUnitInfo info, java.util.Map<java.lang.String,?> properties)
info
- properties
-
protected EntityManager createEntityManager(java.lang.String tenantId)
tenantId
-
protected java.util.Map<java.lang.String,java.lang.Object> createJAXBProperties(org.eclipse.persistence.internal.sessions.AbstractSession session) throws java.io.IOException
persistenceUnitName
- session
-
java.io.IOException
public void delete(java.util.Map<java.lang.String,java.lang.String> tenantId, java.lang.String type, java.lang.Object id)
public boolean doesExist(java.util.Map<java.lang.String,java.lang.String> tenantId, java.lang.Object entity)
tenantId
- the tenant identity
- the entity
public void finalize()
finalize
in class java.lang.Object
public java.lang.Object find(java.lang.String entityName, java.lang.Object id)
entityName
- id
-
public java.lang.Object find(java.util.Map<java.lang.String,java.lang.String> tenantId, java.lang.String entityName, java.lang.Object id)
tenantId
- entityName
- id
-
public java.lang.Object find(java.util.Map<java.lang.String,java.lang.String> tenantId, java.lang.String entityName, java.lang.Object id, java.util.Map<java.lang.String,java.lang.Object> properties)
tenantId
- entityName
- id
- properties
- - query hints used on the find
public java.lang.Object findAttribute(java.util.Map<java.lang.String,java.lang.String> tenantId, java.lang.String entityName, java.lang.Object id, java.util.Map<java.lang.String,java.lang.Object> properties, java.lang.String attribute)
tenantId
- the tenant identityName
- the entity nameid
- the idproperties
- the propertiesattribute
- the attribute
public java.lang.Object updateOrAddAttribute(java.util.Map<java.lang.String,java.lang.String> tenantId, java.lang.String entityName, java.lang.Object id, java.util.Map<java.lang.String,java.lang.Object> properties, java.lang.String attribute, java.lang.Object attributeValue, java.lang.String partner)
tenantId
- the tenant identityName
- the entity nameid
- the idproperties
- the propertiesattribute
- the attributeattributeValue
- the attribute valuepartner
- the partner
public java.lang.Object removeAttribute(java.util.Map<java.lang.String,java.lang.String> tenantId, java.lang.String entityName, java.lang.Object id, java.lang.String attribute, java.lang.String listItemId, java.lang.Object entity, java.lang.String partner)
tenantId
- the tenant identityName
- the entity nameid
- the idproperties
- the propertiesattribute
- the attributeattributeValue
- the attribute valuepartner
- the partner
protected void removeMappingValueFromObject(java.lang.Object object, java.lang.Object attributeValue, DatabaseMapping mapping, DatabaseMapping partner)
public java.net.URI getBaseURI()
public java.lang.Class<?> getClass(java.lang.String entityName)
entityName
-
public DatabaseSession getJpaSession()
public ClassDescriptor getDescriptor(java.lang.String entityName)
entityName
-
public ClassDescriptor getDescriptorForClass(java.lang.Class clazz)
clazz
- the clazz
public ClassDescriptor getJAXBDescriptorForClass(java.lang.Class clazz)
clazz
- the clazz
public EntityManagerFactory getEmf()
public JAXBContext getJAXBContext()
public java.lang.String getName()
public java.lang.Object merge(java.util.Map<java.lang.String,java.lang.String> tenantId, java.lang.Object entity)
tenantId
- entity
-
public DynamicEntity newEntity(java.lang.String type)
type
-
public DynamicEntity newEntity(java.util.Map<java.lang.String,java.lang.String> tenantId, java.lang.String type)
tenantId
- type
-
public int queryExecuteUpdate(java.util.Map<java.lang.String,java.lang.String> tenantId, java.lang.String name, java.util.Map<?,?> parameters, java.util.Map<java.lang.String,?> hints)
tenantId
- the tenant idname
- the nameparameters
- the parametershints
- the hints
public java.util.List queryMultipleResults(java.util.Map<java.lang.String,java.lang.String> tenantId, java.lang.String name, java.util.Map<?,?> parameters, java.util.Map<java.lang.String,?> hints)
tenantId
- the tenant idname
- the nameparameters
- the parametershints
- the hints
protected Query constructQuery(EntityManager em, java.lang.String name, java.util.Map<?,?> parameters, java.util.Map<java.lang.String,?> hints)
public Query buildQuery(java.util.Map<java.lang.String,java.lang.String> tenantId, java.lang.String name, java.util.Map<?,?> parameters, java.util.Map<java.lang.String,?> hints)
public void setBaseURI(java.net.URI baseURI)
baseURI
- the new base uriprotected void setMappingValueInObject(java.lang.Object object, java.lang.Object attributeValue, DatabaseMapping mapping, DatabaseMapping partner)
public void stop()
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.Object unmarshalEntity(java.lang.String type, javax.ws.rs.core.MediaType acceptedMedia, java.io.InputStream in) throws JAXBException
object
- mediaType
- output
-
JAXBException
public java.lang.Object unmarshalEntity(java.lang.Class type, javax.ws.rs.core.MediaType acceptedMedia, java.io.InputStream in) throws JAXBException
object
- mediaType
- output
- sendRelationships
- if this is set to true, relationships will be sent as links instead of sending
the actual objects in the relationships
JAXBException
protected java.lang.Object wrap(java.lang.Object entity)
entity
-
public void marshallEntity(java.lang.Object object, javax.ws.rs.core.MediaType mediaType, java.io.OutputStream output) throws JAXBException
object
- mediaType
- output
-
JAXBException
public void marshallEntity(java.lang.Object object, javax.ws.rs.core.MediaType mediaType, java.io.OutputStream output, boolean sendRelationships) throws JAXBException
object
- mediaType
- output
- sendRelationships
- if this is set to true, relationships will be sent as links instead of sending
the actual objects in the relationships
JAXBException
protected void preMarshallEntity(java.lang.Object object)
object
- protected void preMarshallIndividualEntity(java.lang.Object entity)
entity
- protected void postMarshallEntity(java.lang.Object object)
protected java.util.List<XmlAdapter> getAdapters() throws JPARSException
JPARSException
|
EclipseLink 2.4.2, build 'v20130514-5956486' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |