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)
FieldNameConvertergetName in interface FieldNameConvertermethod - The method for which a corresponding field name must be
generated.public String getPolyTypeName(Method method)
FieldNameConverterGenerates 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 FieldNameConvertermethod - The method for which a corresponding field name must be
generated.public String convertName(String name)
convertName in interface FieldNameProcessorCopyright © 2007–2019 Atlassian. All rights reserved.