Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.openjpa.persistence
Class PersistenceMetaDataDefaults

    java.lang.Object
      org.apache.openjpa.meta.AbstractMetaDataDefaults
          org.apache.openjpa.persistence.PersistenceMetaDataDefaults

All Implemented Interfaces:
  CallbackModes, MetaDataDefaults

    public class PersistenceMetaDataDefaults

extends AbstractMetaDataDefaults

JPA-based metadata defaults.

Author:
  Patrick Linskey, Abe White, Pinaki Poddar

Nested Class Summary
`(package private) static class` | `PersistenceMetaDataDefaults.AccessFilter` Selects elements which is annotated with @Access annotation and that annotation has the given AccessType value.
`(package private) static class` | `PersistenceMetaDataDefaults.AnnotatedFilter` Selects all element annotated with `javax.persistence.*` or `org.apache.openjpa.*` annotation except the annotations marked to be ignored.
`(package private) static class` | `PersistenceMetaDataDefaults.GetterFilter` Selects getter method.
`(package private) static class` | `PersistenceMetaDataDefaults.MemberFilter` Selects elements which is annotated with @Access annotation and that annotation has the given AccessType value.
`(package private) static class` | `PersistenceMetaDataDefaults.SetterFilter` Selects setter method.
`(package private) static class` | `PersistenceMetaDataDefaults.TransientFilter` Selects non-transient elements.

Field Summary
`protected PersistenceMetaDataDefaults.AnnotatedFilter` | `annotatedFilter`
`protected PersistenceMetaDataDefaults.AccessFilter` | `fieldAccessFilter`
`protected PersistenceMetaDataDefaults.MemberFilter` | `fieldFilter`
`protected PersistenceMetaDataDefaults.GetterFilter` | `getterFilter`
`protected PersistenceMetaDataDefaults.MemberFilter` | `methodFilter`
`protected PersistenceMetaDataDefaults.TransientFilter` | `nonTransientFilter`
`protected PersistenceMetaDataDefaults.AccessFilter` | `propertyAccessFilter` Set of Inclusion Filters based on member type, access type or transient annotations.
`protected PersistenceMetaDataDefaults.SetterFilter` | `setterFilter`

Fields inherited from interface org.apache.openjpa.event.CallbackModes
`CALLBACK_FAIL_FAST, CALLBACK_IGNORE, CALLBACK_LOG, CALLBACK_RETHROW, CALLBACK_ROLLBACK`

Constructor Summary
`PersistenceMetaDataDefaults()`

Method Summary
`(package private) void` | `assertNoDuplicate(List<Field> fields, List<Method> getters)`
`(package private) void` | `error(ClassMetaData meta, Localizer.Message message)`
`(package private)
`<T extends AnnotatedElement> List<T>`
` | `filter(List<T> list, org.apache.openjpa.persistence.PersistenceMetaDataDefaults.InclusiveFilter... filters)`
`(package private)
`<T extends AnnotatedElement> List<T>`
` | `filter(T[] array, org.apache.openjpa.persistence.PersistenceMetaDataDefaults.InclusiveFilter... filters)` Filter the given collection with the conjunction of filters.
`(package private) ClassMetaData` | `getCachedSuperclassMetaData(ClassMetaData meta)`
`protected List<String>` | `getFieldAccessNames(ClassMetaData meta)` Return the list of fields in `meta` that use field access, or `null` if a list of fields is unobtainable.
`Member` | `getMemberByProperty(ClassMetaData meta, String property, int access, boolean applyDefaultRule)` Gets either the instance field or the getter method depending upon the access style of the given meta-data.
`static PersistenceStrategy` | `getPersistenceStrategy(FieldMetaData fmd, Member member)` Return the code for the strategy of the given member.
`static PersistenceStrategy` | `getPersistenceStrategy(FieldMetaData fmd, Member member, boolean ignoreTransient)` Return the code for the strategy of the given member.
`(package private) List<Field>` | `getPersistentFields(ClassMetaData meta, boolean ignoreTransient)` Gets the fields that are possible candidate for being persisted.
`List<Member>` | `getPersistentMembers(ClassMetaData meta, boolean ignoreTransient)` Gets the members that are backing members for attributes being persisted.
`(package private) List<Method>` | `getPersistentMethods(ClassMetaData meta, boolean ignoreTransient)` Gets the methods that are possible candidate for being persisted.
`protected List<String>` | `getPropertyAccessNames(ClassMetaData meta)` Return the list of methods in `meta` that use property access, or `null` if a list of methods is unobtainable.
`boolean` | `isAbstractMappingUniDirectional(OpenJPAConfiguration conf)` Whether the relationship in MappedSuper class must be uni-directional.
`protected boolean` | `isDefaultPersistent(ClassMetaData meta, Member member, String name)`
`protected boolean` | `isDefaultPersistent(ClassMetaData meta, Member member, String name, boolean ignoreTransient)` Return true if the given member is persistent by default.
`boolean` | `isNonDefaultMappingAllowed(OpenJPAConfiguration conf)` Whether non-default mapping is allowed.
`void` | `populate(ClassMetaData meta, int access)` Populates the given class metadata.
`void` | `populate(ClassMetaData meta, int access, boolean ignoreTransient)` Populates the given class metadata.
`protected void` | `populate(FieldMetaData fmd)`
`void` | `setAbstractMappingUniDirectional(OpenJPAConfiguration conf)`
`(package private) static void` | `setCascadeNone(ValueMetaData vmd)` Turns off auto cascading of persist, refresh, attach, detach.
`void` | `setDefaultAccessType(String type)` Auto-configuration method for the default access type of base classes with ACCESS_UNKNOWN
`void` | `setNonDefaultMappingAllowed(OpenJPAConfiguration conf)`
`(package private) String` | `toFieldNames(List<Field> fields)`
`(package private) String` | `toMethodNames(List<Method> methods)`
`(package private) void` | `trace(ClassMetaData meta, Localizer.Message message)`
`(package private) void` | `warn(ClassMetaData meta, Localizer.Message message)`

Methods inherited from class org.apache.openjpa.meta.AbstractMetaDataDefaults
`getBackingMember, getCallbackMode, getCallbacksBeforeListeners, getDefaultAccessType, getDefaultIdentityType, getFieldName, getIgnoreNonPersistent, getUnimplementedExceptionType, getUsePCRegistry, isBoolean, isBooleanGetter, isDataStoreObjectIdFieldUnwrapped, isDeclaredInterfacePersistent, isGetter, isNormalGetter, isReservedFieldName, isUserDefined, setCallbackMode, setCallbackMode, setDataStoreObjectIdFieldUnwrapped, setDeclaredInterfacePersistent, setDefaultAccessType, setDefaultIdentityType, setIgnoreNonPersistent, setUsePCRegistry, startsWith, toNames`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### propertyAccessFilter

    protected PersistenceMetaDataDefaults.AccessFilter propertyAccessFilter

  Set of Inclusion Filters based on member type, access type or transient annotations. Used to determine the persistent field/methods.

### fieldAccessFilter

    protected PersistenceMetaDataDefaults.AccessFilter fieldAccessFilter

### fieldFilter

    protected PersistenceMetaDataDefaults.MemberFilter fieldFilter

### methodFilter

    protected PersistenceMetaDataDefaults.MemberFilter methodFilter

### nonTransientFilter

    protected PersistenceMetaDataDefaults.TransientFilter nonTransientFilter

### annotatedFilter

    protected PersistenceMetaDataDefaults.AnnotatedFilter annotatedFilter

### getterFilter

    protected PersistenceMetaDataDefaults.GetterFilter getterFilter

### setterFilter

    protected PersistenceMetaDataDefaults.SetterFilter setterFilter

Constructor Detail

### PersistenceMetaDataDefaults

    public PersistenceMetaDataDefaults()

Method Detail

### getPersistenceStrategy

    public static PersistenceStrategy getPersistenceStrategy(FieldMetaData fmd,
                                                             Member member)

  Return the code for the strategy of the given member. Return null if no strategy.

### getPersistenceStrategy

    public static PersistenceStrategy getPersistenceStrategy(FieldMetaData fmd,
                                                             Member member,
                                                             boolean ignoreTransient)

  Return the code for the strategy of the given member. Return null if no strategy.

### setDefaultAccessType

    public void setDefaultAccessType(String type)

  Auto-configuration method for the default access type of base classes with ACCESS_UNKNOWN

### populate

    public void populate(ClassMetaData meta,
                         int access)

  Populates the given class metadata. The access style determines which field and/or getter method will contribute as the persistent property of the given class. If the given access is unknown, then the access type is to be determined at first.

  Specified by:
    `populate` in interface `MetaDataDefaults`
  Overrides:
    `populate` in class `AbstractMetaDataDefaults`
    `access` - access type constant from `ClassMetaData`
  See Also:
    `determineAccessType(ClassMetaData)`

### populate

    public void populate(ClassMetaData meta,
                         int access,
                         boolean ignoreTransient)

  Populates the given class metadata. The access style determines which field and/or getter method will contribute as the persistent property of the given class. If the given access is unknown, then the access type is to be determined at first.

  Specified by:
    `populate` in interface `MetaDataDefaults`
  Overrides:
    `populate` in class `AbstractMetaDataDefaults`
    `access` - access type constant from `ClassMetaData`
  See Also:
    `determineAccessType(ClassMetaData)`

### populate

    protected void populate(FieldMetaData fmd)

  Overrides:
    `populate` in class `AbstractMetaDataDefaults`

### setCascadeNone

    static void setCascadeNone(ValueMetaData vmd)

  Turns off auto cascading of persist, refresh, attach, detach.

### getCachedSuperclassMetaData

    ClassMetaData getCachedSuperclassMetaData(ClassMetaData meta)

### getPersistentFields

    List<Field> getPersistentFields(ClassMetaData meta,
                                    boolean ignoreTransient)

  Gets the fields that are possible candidate for being persisted. The result depends on the current access style of the given class.

### getPersistentMethods

    List<Method> getPersistentMethods(ClassMetaData meta,
                                      boolean ignoreTransient)

  Gets the methods that are possible candidate for being persisted. The result depends on the current access style of the given class.

### getPersistentMembers

    public List<Member> getPersistentMembers(ClassMetaData meta,
                                             boolean ignoreTransient)

  Gets the members that are backing members for attributes being persisted. Unlike #getPersistentFields(ClassMetaData) and #getPersistentMethods(ClassMetaData) which returns possible candidates, the result of this method is definite. Side-effect of this method is if the given class metadata has no access type set, this method will set it.

  Specified by:
    `getPersistentMembers` in class `AbstractMetaDataDefaults`

### assertNoDuplicate

    void assertNoDuplicate(List<Field> fields,
                           List<Method> getters)

### error

    void error(ClassMetaData meta,
               Localizer.Message message)

### warn

    void warn(ClassMetaData meta,
              Localizer.Message message)

### trace

    void trace(ClassMetaData meta,
               Localizer.Message message)

### getFieldAccessNames

    protected List<String> getFieldAccessNames(ClassMetaData meta)

  Description copied from class: `AbstractMetaDataDefaults`
  Return the list of fields in `meta` that use field access, or `null` if a list of fields is unobtainable. An empty list should be returned if the list of fields is obtainable, but there happens to be no field access in `meta`. This is used for error reporting purposes only, so need not be efficient. This implementation returns `null`.

  Overrides:
    `getFieldAccessNames` in class `AbstractMetaDataDefaults`

### getPropertyAccessNames

    protected List<String> getPropertyAccessNames(ClassMetaData meta)

  Description copied from class: `AbstractMetaDataDefaults`
  Return the list of methods in `meta` that use property access, or `null` if a list of methods is unobtainable. An empty list should be returned if the list of methods is obtainable, but there happens to be no property access in `meta`. This is used for error reporting purposes only, so need not be efficient. This implementation returns `null`.

  Overrides:
    `getPropertyAccessNames` in class `AbstractMetaDataDefaults`

### isDefaultPersistent

    protected boolean isDefaultPersistent(ClassMetaData meta,
                                          Member member,
                                          String name)

### isDefaultPersistent

    protected boolean isDefaultPersistent(ClassMetaData meta,
                                          Member member,
                                          String name,
                                          boolean ignoreTransient)

  Description copied from class: `AbstractMetaDataDefaults`
  Return true if the given member is persistent by default. This will only be invoked on members of the right type (field vs. method). Returns false if member is static or final by default.

  Specified by:
    `isDefaultPersistent` in class `AbstractMetaDataDefaults`
    `name` - the field name from `AbstractMetaDataDefaults.getFieldName(java.lang.reflect.Member)`

### getMemberByProperty

    public Member getMemberByProperty(ClassMetaData meta,
                                      String property,
                                      int access,
                                      boolean applyDefaultRule)

  Gets either the instance field or the getter method depending upon the access style of the given meta-data.

  Parameters:
    `meta` - is the declaring class
    `property` - name of the logical attribute
    `access` - whether to look for the field of getter method. If unknown, then field or property is chosen based on the access type used by the given class.
    `applyDefaultRule` - if true and access is unknown then scans the annotation on the member to determine access.

### filter

    <T extends AnnotatedElement> List<T> filter(T[] array,
                                                org.apache.openjpa.persistence.PersistenceMetaDataDefaults.InclusiveFilter... filters)

  Filter the given collection with the conjunction of filters. The given collection itself is not modified.

### filter

    <T extends AnnotatedElement> List<T> filter(List<T> list,
                                                org.apache.openjpa.persistence.PersistenceMetaDataDefaults.InclusiveFilter... filters)

### toFieldNames

    String toFieldNames(List<Field> fields)

### toMethodNames

    String toMethodNames(List<Method> methods)

### isAbstractMappingUniDirectional

    public boolean isAbstractMappingUniDirectional(OpenJPAConfiguration conf)

  Description copied from interface: `MetaDataDefaults`
  Whether the relationship in MappedSuper class must be uni-directional.

### setAbstractMappingUniDirectional

    public void setAbstractMappingUniDirectional(OpenJPAConfiguration conf)

### isNonDefaultMappingAllowed

    public boolean isNonDefaultMappingAllowed(OpenJPAConfiguration conf)

  Description copied from interface: `MetaDataDefaults`
  Whether non-default mapping is allowed.

### setNonDefaultMappingAllowed

    public void setNonDefaultMappingAllowed(OpenJPAConfiguration conf)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2006-2013 Apache Software Foundation. All Rights Reserved.