|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.atlassian.jira.issue.customfields.impl.AbstractCustomFieldType com.atlassian.jira.issue.customfields.impl.AbstractSingleFieldType
public abstract class AbstractSingleFieldType
A abstract class that simplifies creating a CustomField that stores a single values via ofbiz. Possible values to store are:
FIELD_TYPE_STRING
FIELD_TYPE_TEXT
FIELD_TYPE_NUMBER
FIELD_TYPE_DATE
User
or a GenericValue
representing a project.
Field Summary | |
---|---|
protected CustomFieldValuePersister |
customFieldValuePersister
|
protected static String |
FIELD_TYPE_DATE
|
protected static String |
FIELD_TYPE_NUMBER
|
protected static String |
FIELD_TYPE_STRING
|
protected static String |
FIELD_TYPE_TEXT
|
protected GenericConfigManager |
genericConfigManager
|
protected static org.apache.log4j.Logger |
log
|
Fields inherited from interface com.atlassian.jira.issue.customfields.CustomFieldType |
---|
DEFAULT_VALUE_TYPE |
Constructor Summary | |
---|---|
protected |
AbstractSingleFieldType(CustomFieldValuePersister customFieldValuePersister,
GenericConfigManager genericConfigManager)
|
Method Summary | |
---|---|
void |
createValue(CustomField field,
Issue issue,
Object value)
at this point we know that the value doesn't exist, and that |
String |
getChangelogValue(CustomField field,
Object value)
Returns a values to be stored in the change log, example is the id of the changed item. |
protected abstract PersistenceFieldType |
getDatabaseType()
Type of database field needed to store this field. |
protected abstract Object |
getDbValueFromObject(Object customFieldObject)
Returns the database representation of the Java object as stored for that CustomField. |
Object |
getDefaultValue(FieldConfig fieldConfig)
Retrieves the Object representing the default CustomField value for the Custom Field. |
protected abstract Object |
getObjectFromDbValue(Object databaseValue)
Returns the Domain Object or GenericValue object representing the given Custom Field value as stored in the database |
Object |
getStringValueFromCustomFieldParams(CustomFieldParams parameters)
Return the String value object from the CustomFieldParams. |
Object |
getValueFromCustomFieldParams(CustomFieldParams relevantParams)
Retrieves the Object representing the CustomField value instance from the CustomFieldParams of Strings. |
Object |
getValueFromIssue(CustomField field,
Issue issue)
Retrieves the Object representing the current CustomField value for the given issue. |
Set |
remove(CustomField field)
called when removing a field. |
void |
setDefaultValue(FieldConfig fieldConfig,
Object value)
Sets the default value for a Custom Field |
void |
updateValue(CustomField customField,
Issue issue,
Object value)
the value does exist, and the new value is different than the existing one. |
void |
validateFromParams(CustomFieldParams relevantParams,
ErrorCollection errorCollectionToAddTo,
FieldConfig config)
Ensures that the CustomFieldParams of Strings is a valid representation of the Custom Field values. |
Methods inherited from class com.atlassian.jira.issue.customfields.impl.AbstractCustomFieldType |
---|
assertObjectImplementsType, availableForBulkEdit, getChangelogString, getConfigurationItemTypes, getDescription, getDescriptor, getI18nBean, getKey, getName, getRelatedIndexers, getVelocityParameters, getVelocityParameters, init, isRenderable, valuesEqual |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.atlassian.jira.issue.customfields.CustomFieldType |
---|
getSingularObjectFromString, getStringFromSingularObject |
Field Detail |
---|
protected static final org.apache.log4j.Logger log
protected static final String FIELD_TYPE_STRING
protected static final String FIELD_TYPE_TEXT
protected static final String FIELD_TYPE_DATE
protected static final String FIELD_TYPE_NUMBER
protected final CustomFieldValuePersister customFieldValuePersister
protected final GenericConfigManager genericConfigManager
Constructor Detail |
---|
protected AbstractSingleFieldType(CustomFieldValuePersister customFieldValuePersister, GenericConfigManager genericConfigManager)
Method Detail |
---|
public Object getValueFromIssue(CustomField field, Issue issue)
CustomFieldType
CustomFieldType.getValueFromCustomFieldParams(com.atlassian.jira.issue.customfields.view.CustomFieldParams)
for more detailed notes.
field
- Custom field for which to retrieve the valueissue
- Issue from which to retrieve the value
CustomFieldType.createValue(com.atlassian.jira.issue.fields.CustomField, com.atlassian.jira.issue.Issue, java.lang.Object)
, CustomFieldType.updateValue(com.atlassian.jira.issue.fields.CustomField, com.atlassian.jira.issue.Issue, java.lang.Object)
CustomFieldType.getValueFromCustomFieldParams(com.atlassian.jira.issue.customfields.view.CustomFieldParams)
public Set remove(CustomField field)
Subclasses should override this if they have specific cleanup that they need to do (such as removing select list values)
field
- The custom field that is being removed, so any data stored for
any issues for that field can be deleted.
Set
of issue ids that has been affectedpublic void createValue(CustomField field, Issue issue, Object value)
public void updateValue(CustomField customField, Issue issue, Object value)
public void setDefaultValue(FieldConfig fieldConfig, Object value)
CustomFieldType
fieldConfig
- CustomField for which the default is being storedvalue
- Transport Object representing the value instance of the CustomFieldpublic Object getDefaultValue(FieldConfig fieldConfig)
CustomFieldType
CustomFieldType.getValueFromCustomFieldParams(com.atlassian.jira.issue.customfields.view.CustomFieldParams)
for more detailed notes.
fieldConfig
- CustomField for default value
CustomFieldType.createValue(com.atlassian.jira.issue.fields.CustomField, com.atlassian.jira.issue.Issue, java.lang.Object)
, CustomFieldType.updateValue(com.atlassian.jira.issue.fields.CustomField, com.atlassian.jira.issue.Issue, java.lang.Object)
public void validateFromParams(CustomFieldParams relevantParams, ErrorCollection errorCollectionToAddTo, FieldConfig config)
CustomFieldType
CustomFieldParams
of Strings is a valid representation of the Custom Field values.
Any errors should be added to the ErrorCollection
under the appropriate key as required.
relevantParams
- parameter object of StringserrorCollectionToAddTo
- errorCollection to which any erros should be added (never null)config
- FieldConfigpublic Object getValueFromCustomFieldParams(CustomFieldParams relevantParams) throws FieldValidationException
CustomFieldType
CustomFieldType.createValue(com.atlassian.jira.issue.fields.CustomField, com.atlassian.jira.issue.Issue, java.lang.Object)
, CustomFieldType.updateValue(com.atlassian.jira.issue.fields.CustomField, com.atlassian.jira.issue.Issue, java.lang.Object)
) and Object returned from CustomFieldType.getValueFromIssue(com.atlassian.jira.issue.fields.CustomField, com.atlassian.jira.issue.Issue)
.
relevantParams
- CustomFieldParams of String objects. Will contain one value for Singular field types.
CustomFieldType.createValue(com.atlassian.jira.issue.fields.CustomField, com.atlassian.jira.issue.Issue, java.lang.Object)
, CustomFieldType.updateValue(com.atlassian.jira.issue.fields.CustomField, com.atlassian.jira.issue.Issue, java.lang.Object)
FieldValidationException
- if the String value fails to convert into ObjectsCustomFieldType.createValue(com.atlassian.jira.issue.fields.CustomField, com.atlassian.jira.issue.Issue, java.lang.Object)
,
CustomFieldType.updateValue(com.atlassian.jira.issue.fields.CustomField, com.atlassian.jira.issue.Issue, java.lang.Object)
,
CustomFieldType.getValueFromIssue(com.atlassian.jira.issue.fields.CustomField, com.atlassian.jira.issue.Issue)
public Object getStringValueFromCustomFieldParams(CustomFieldParams parameters)
CustomFieldType
parameters
- - CustomFieldParams containing String values
public String getChangelogValue(CustomField field, Object value)
CustomFieldType
field
- CustomField that the value belongs tovalue
- Transport Object representing the value instance of the CustomField
protected abstract PersistenceFieldType getDatabaseType()
PersistenceFieldType
types.protected abstract Object getDbValueFromObject(Object customFieldObject)
customFieldObject
-
protected abstract Object getObjectFromDbValue(Object databaseValue) throws FieldValidationException
databaseValue
- - String, Double or Date objects
FieldValidationException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |