|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.java.ao.schema.AbstractFieldNameConverter
public abstract class AbstractFieldNameConverter
An abstract implementation of FieldNameConverter
which handles common
tasks for the name converter (i.e. relations annotations, accessor/mutator
annotations, etc). For most tasks, custom field name converters should extend
this class, rather than directly implementing FieldNameConverter
.
Constructor Summary | |
---|---|
protected |
AbstractFieldNameConverter()
Dummy constructor with protected visibility. |
Method Summary | |
---|---|
protected abstract java.lang.String |
convertName(java.lang.String name,
boolean entity,
boolean polyType)
Performs the actual conversion logic between a method name (or, more normally a trimmed method name) and the corresponding database field identifier. |
java.lang.String |
getName(java.lang.reflect.Method method)
Handles operations which should be common to all field name converters such as overriding of the generated field name through annotations, etc. |
java.lang.String |
getPolyTypeName(java.lang.reflect.Method method)
Docuentation on the getName(Method) method. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected AbstractFieldNameConverter()
Method Detail |
---|
public java.lang.String getName(java.lang.reflect.Method method)
Handles operations which should be common to all field name converters
such as overriding of the generated field name through annotations, etc.
This method also handles the converting through the Java Bean method
prefix convention (get/set/is), allowing the implementing class to only
concern itself with converting one String
(from the method
name) into another.
This method delegates the actual conversion logic to the
convertName(String, boolean, boolean)
method. There is rarely a need
for subclasses to override this method.
getName
in interface FieldNameConverter
method
- The method for which a field name must be generated.
FieldNameConverter.getName(Method)
public java.lang.String getPolyTypeName(java.lang.reflect.Method method)
getName(Method)
method.
getPolyTypeName
in interface FieldNameConverter
method
- The method for which a corresponding field name must be
generated.
FieldNameConverter.getPolyTypeName(Method)
protected abstract java.lang.String convertName(java.lang.String name, boolean entity, boolean polyType)
Performs the actual conversion logic between a method name (or, more normally
a trimmed method name) and the corresponding database field identifier. This
method may impose conventions such as camelCase, all-lowercase with underscores
and so on. There is no need for this method to concern itself with method
prefixes such as get, set or is. All of these should be handled within the
getName(Method)
method.
Some examples of input and their corresponding return values for this method
(assuming the CamelCaseFieldNameConverter
is in use):
Actual Method Name | Param: name | Param: entity | Param: polyType | Return Value |
getFirstName | FirstName | false |
false |
firstName |
getCompany | Company | true |
false |
companyID |
getCompany | Company | true |
true |
companyType |
isCool | Cool | false |
false |
cool |
setLastName | LastName | false |
false |
lastName |
The implementation of this method must execute extremely quickly and be totally thread-safe (stateless if possible). This is because this method will be called many times for some operations. A slow algorithm here will dramaticly affect the execution time of basic tasks.
name
- The (often trimmed) method name for which a field name is reqiured.entity
- Indicates whether or not the method in question returns an
entity value.polyType
- Indicates whether or not the field in question is a polymorphic
type flagging field.
null
.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |