org.apache.openjpa.persistence.jdbc
Class AnnotationPersistenceMappingSerializer

java.lang.Object
  extended by org.apache.openjpa.persistence.AnnotationPersistenceMetaDataSerializer
      extended by org.apache.openjpa.persistence.jdbc.AnnotationPersistenceMappingSerializer
All Implemented Interfaces:
org.apache.openjpa.lib.meta.MetaDataSerializer, org.apache.openjpa.meta.AbstractCFMetaDataFactory.Serializer

public class AnnotationPersistenceMappingSerializer
extends org.apache.openjpa.persistence.AnnotationPersistenceMetaDataSerializer

Serializes persistence mappings as annotations.

Since:
1.0.0
Author:
Steve Kim, Gokhan Ergul

Nested Class Summary
protected  class AnnotationPersistenceMappingSerializer.MappingSerializationComparator
          Extends AnnotationPersistenceMappingSerializer.MappingSerializationComparator for store-specific tags such as <sql-result-set-mapping>.
 
Nested classes/interfaces inherited from class org.apache.openjpa.persistence.AnnotationPersistenceMetaDataSerializer
org.apache.openjpa.persistence.AnnotationPersistenceMetaDataSerializer.SerializationComparator
 
Field Summary
 
Fields inherited from class org.apache.openjpa.persistence.AnnotationPersistenceMetaDataSerializer
TYPE_CLASS_QUERIES, TYPE_CLASS_SEQS, TYPE_META, TYPE_QUERY, TYPE_SEQ
 
Fields inherited from interface org.apache.openjpa.lib.meta.MetaDataSerializer
APPEND, COMPACT, PRETTY, VERBOSE
 
Constructor Summary
AnnotationPersistenceMappingSerializer(org.apache.openjpa.jdbc.conf.JDBCConfiguration conf)
          Constructor.
 
Method Summary
 void addAll(org.apache.openjpa.meta.MetaDataRepository repos)
           
protected  void addAnnotation(org.apache.openjpa.persistence.AnnotationBuilder ab, org.apache.openjpa.jdbc.meta.QueryResultMapping meta)
          Add an annotation builder to list of builders for the specified class metadata.
protected  org.apache.openjpa.persistence.AnnotationBuilder addAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annType, org.apache.openjpa.jdbc.meta.QueryResultMapping meta)
          Creates an an annotation builder for the specified class metadata and adds it to list of builders.
 void addQueryResultMapping(org.apache.openjpa.jdbc.meta.QueryResultMapping meta)
          Adds the given result set mapping to local cache.
protected  void addSystemMappingElements(java.util.Collection toSerialize)
           
 void clear()
           
protected  javax.persistence.EnumType getEnumType(org.apache.openjpa.jdbc.meta.FieldMapping field)
          Return enum type for the field.
protected  org.apache.openjpa.persistence.PersistenceStrategy getStrategy(org.apache.openjpa.meta.FieldMetaData fmd)
           
 boolean getSyncMappingInfo()
          Whether to automatically synchronize mapping info with data available from mapped components before serialization.
protected  org.apache.openjpa.persistence.AnnotationPersistenceMetaDataSerializer.SerializationComparator newSerializationComparator()
           
 boolean removeAll(org.apache.openjpa.meta.MetaDataRepository repos)
           
 boolean removeQueryResultMapping(org.apache.openjpa.jdbc.meta.QueryResultMapping meta)
          Removes given result set mapping from the local cache.
protected  boolean serializeAttributeOverride(org.apache.openjpa.meta.FieldMetaData fmd, org.apache.openjpa.meta.FieldMetaData orig)
           
protected  void serializeAttributeOverrideMappingContent(org.apache.openjpa.meta.FieldMetaData fmd, org.apache.openjpa.meta.FieldMetaData orig, org.apache.openjpa.persistence.AnnotationBuilder ab)
           
protected  void serializeClass(org.apache.openjpa.meta.ClassMetaData meta)
           
protected  void serializeClassMappingContent(org.apache.openjpa.meta.ClassMetaData mapping)
           
protected  void serializeFieldMappingContent(org.apache.openjpa.meta.FieldMetaData fmd, org.apache.openjpa.persistence.PersistenceStrategy strategy, org.apache.openjpa.persistence.AnnotationBuilder ab)
           
protected  void serializeInheritanceContent(org.apache.openjpa.meta.ClassMetaData mapping)
           
protected  void serializeQueryMappings(org.apache.openjpa.meta.ClassMetaData meta)
           
protected  void serializeSequence(org.apache.openjpa.meta.SequenceMetaData meta)
           
protected  void serializeSystemMappingElement(java.lang.Object obj)
           
 void setSyncMappingInfo(boolean sync)
          Whether to automatically synchronize mapping info with data available from mapped components before serialization.
protected  int type(java.lang.Object o)
           
 
Methods inherited from class org.apache.openjpa.persistence.AnnotationPersistenceMetaDataSerializer
addAnnotation, addAnnotation, addAnnotation, addAnnotation, addAnnotation, addAnnotation, addAnnotation, addAnnotation, addAnnotation, addClassMappingAnnotations, addFieldMappingAttributes, addMetaData, addQueryMetaData, addSequenceMetaData, addStrategyMappingAttributes, getConfiguration, getLog, getMode, getObjects, isMappingMode, isMappingMode, isMappingMode, isMetaDataMode, isQueryMode, newAnnotationBuilder, removeMetaData, removeQueryMetaData, removeSequenceMetaData, serialize, serialize, serialize, serialize, serialize, setLog, setMode, setMode, writeAnnotations
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AnnotationPersistenceMappingSerializer

public AnnotationPersistenceMappingSerializer(org.apache.openjpa.jdbc.conf.JDBCConfiguration conf)
Constructor. Supply configuration.

Method Detail

getSyncMappingInfo

public boolean getSyncMappingInfo()
Whether to automatically synchronize mapping info with data available from mapped components before serialization. Defaults to false.


setSyncMappingInfo

public void setSyncMappingInfo(boolean sync)
Whether to automatically synchronize mapping info with data available from mapped components before serialization. Defaults to false.


addQueryResultMapping

public void addQueryResultMapping(org.apache.openjpa.jdbc.meta.QueryResultMapping meta)
Adds the given result set mapping to local cache.


removeQueryResultMapping

public boolean removeQueryResultMapping(org.apache.openjpa.jdbc.meta.QueryResultMapping meta)
Removes given result set mapping from the local cache.


addAll

public void addAll(org.apache.openjpa.meta.MetaDataRepository repos)
Specified by:
addAll in interface org.apache.openjpa.meta.AbstractCFMetaDataFactory.Serializer
Overrides:
addAll in class org.apache.openjpa.persistence.AnnotationPersistenceMetaDataSerializer

removeAll

public boolean removeAll(org.apache.openjpa.meta.MetaDataRepository repos)
Overrides:
removeAll in class org.apache.openjpa.persistence.AnnotationPersistenceMetaDataSerializer

clear

public void clear()
Overrides:
clear in class org.apache.openjpa.persistence.AnnotationPersistenceMetaDataSerializer

addAnnotation

protected void addAnnotation(org.apache.openjpa.persistence.AnnotationBuilder ab,
                             org.apache.openjpa.jdbc.meta.QueryResultMapping meta)
Add an annotation builder to list of builders for the specified class metadata.


addAnnotation

protected org.apache.openjpa.persistence.AnnotationBuilder addAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annType,
                                                                         org.apache.openjpa.jdbc.meta.QueryResultMapping meta)
Creates an an annotation builder for the specified class metadata and adds it to list of builders.


serializeClass

protected void serializeClass(org.apache.openjpa.meta.ClassMetaData meta)
Overrides:
serializeClass in class org.apache.openjpa.persistence.AnnotationPersistenceMetaDataSerializer

serializeClassMappingContent

protected void serializeClassMappingContent(org.apache.openjpa.meta.ClassMetaData mapping)
Overrides:
serializeClassMappingContent in class org.apache.openjpa.persistence.AnnotationPersistenceMetaDataSerializer

serializeInheritanceContent

protected void serializeInheritanceContent(org.apache.openjpa.meta.ClassMetaData mapping)
Overrides:
serializeInheritanceContent in class org.apache.openjpa.persistence.AnnotationPersistenceMetaDataSerializer

serializeAttributeOverride

protected boolean serializeAttributeOverride(org.apache.openjpa.meta.FieldMetaData fmd,
                                             org.apache.openjpa.meta.FieldMetaData orig)
Overrides:
serializeAttributeOverride in class org.apache.openjpa.persistence.AnnotationPersistenceMetaDataSerializer

serializeAttributeOverrideMappingContent

protected void serializeAttributeOverrideMappingContent(org.apache.openjpa.meta.FieldMetaData fmd,
                                                        org.apache.openjpa.meta.FieldMetaData orig,
                                                        org.apache.openjpa.persistence.AnnotationBuilder ab)
Overrides:
serializeAttributeOverrideMappingContent in class org.apache.openjpa.persistence.AnnotationPersistenceMetaDataSerializer

getStrategy

protected org.apache.openjpa.persistence.PersistenceStrategy getStrategy(org.apache.openjpa.meta.FieldMetaData fmd)
Overrides:
getStrategy in class org.apache.openjpa.persistence.AnnotationPersistenceMetaDataSerializer

serializeFieldMappingContent

protected void serializeFieldMappingContent(org.apache.openjpa.meta.FieldMetaData fmd,
                                            org.apache.openjpa.persistence.PersistenceStrategy strategy,
                                            org.apache.openjpa.persistence.AnnotationBuilder ab)
Overrides:
serializeFieldMappingContent in class org.apache.openjpa.persistence.AnnotationPersistenceMetaDataSerializer

getEnumType

protected javax.persistence.EnumType getEnumType(org.apache.openjpa.jdbc.meta.FieldMapping field)
Return enum type for the field.


newSerializationComparator

protected org.apache.openjpa.persistence.AnnotationPersistenceMetaDataSerializer.SerializationComparator newSerializationComparator()
Overrides:
newSerializationComparator in class org.apache.openjpa.persistence.AnnotationPersistenceMetaDataSerializer

addSystemMappingElements

protected void addSystemMappingElements(java.util.Collection toSerialize)
Overrides:
addSystemMappingElements in class org.apache.openjpa.persistence.AnnotationPersistenceMetaDataSerializer

type

protected int type(java.lang.Object o)
Overrides:
type in class org.apache.openjpa.persistence.AnnotationPersistenceMetaDataSerializer

serializeSystemMappingElement

protected void serializeSystemMappingElement(java.lang.Object obj)
Overrides:
serializeSystemMappingElement in class org.apache.openjpa.persistence.AnnotationPersistenceMetaDataSerializer

serializeQueryMappings

protected void serializeQueryMappings(org.apache.openjpa.meta.ClassMetaData meta)
Overrides:
serializeQueryMappings in class org.apache.openjpa.persistence.AnnotationPersistenceMetaDataSerializer

serializeSequence

protected void serializeSequence(org.apache.openjpa.meta.SequenceMetaData meta)
Overrides:
serializeSequence in class org.apache.openjpa.persistence.AnnotationPersistenceMetaDataSerializer