public final class AtlassianFieldNameConverter extends Object implements FieldNameConverter, FieldNameProcessor
Constructor and Description |
---|
AtlassianFieldNameConverter() |
Modifier and Type | Method and Description |
---|---|
String |
convertName(String name) |
String |
getName(Method method)
Generates a field name to correspond with the specified method.
|
String |
getPolyTypeName(Method method)
Generates a secondary field name which corresponds with the polymorphic
type flag for the field corresponding to the specified method.
|
public String getName(Method method)
FieldNameConverter
getName
in interface FieldNameConverter
method
- The method for which a corresponding field name must be
generated.public String getPolyTypeName(Method method)
FieldNameConverter
Generates a secondary field name which corresponds with the polymorphic
type flag for the field corresponding to the specified method. If the
method in question does not represent a polymorphic field, this method
may return any value, or null
. For most use-cases, the
return value of this method will be identical to that of the
FieldNameConverter.getName(Method)
method with a conventional suffix (usually "Type"
or "_type") to indicate that it is a polymorphic flag. Polymorphic
fields are the only scenario in which two fields will correspond to a
single method.
An example of a table with a polymorphic flagging field could be taken as follows (MySQL DDL):
CREATE TABLE comments ( id INTEGER NOT NULL AUTO_INCREMENT, title VARCHAR(45), text TEXT, commentableID INTEGER, commentableType VARCHAR(255), PRIMARY KEY(id) );
Notice the absence of foreign key constraint on the commentableID
field. This is because this table has a one-to-many mapping with potentially
numerous tables which can be described as "commentable". Thus,
commentableID
and commentableType
describe a
polymorphic one-to-many relationship within the database.
getPolyTypeName
in interface FieldNameConverter
method
- The method for which a corresponding field name must be
generated.public String convertName(String name)
convertName
in interface FieldNameProcessor
Copyright © 2007–2022 Atlassian. All rights reserved.