|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.atlassian.jira.issue.customfields.impl.AbstractCustomFieldType<Collection<S>,S>
com.atlassian.jira.issue.customfields.impl.AbstractMultiCFType<com.atlassian.crowd.embedded.api.User>
com.atlassian.jira.issue.customfields.impl.MultiUserCFType
public class MultiUserCFType
Multiple User Type allows selection of multiple users. For single User select use UserCFType
Collection
User
String
of user name
Nested Class Summary | |
---|---|
static interface |
MultiUserCFType.Visitor<T>
|
Nested classes/interfaces inherited from class com.atlassian.jira.issue.customfields.impl.AbstractCustomFieldType |
---|
AbstractCustomFieldType.VisitorBase<X> |
Field Summary | |
---|---|
protected MultiUserConverter |
multiUserConverter
|
Fields inherited from class com.atlassian.jira.issue.customfields.impl.AbstractMultiCFType |
---|
customFieldValuePersister, genericConfigManager |
Fields inherited from interface com.atlassian.jira.issue.customfields.CustomFieldType |
---|
DEFAULT_VALUE_TYPE |
Constructor Summary | |
---|---|
MultiUserCFType(CustomFieldValuePersister customFieldValuePersister,
GenericConfigManager genericConfigManager,
MultiUserConverter multiUserConverter,
ApplicationProperties applicationProperties,
JiraAuthenticationContext authenticationContext,
UserPickerSearchService searchService,
FieldVisibilityManager fieldVisibilityManager,
JiraBaseUrls jiraBaseUrls)
|
Method Summary | |
---|---|
Object |
accept(AbstractCustomFieldType.VisitorBase visitor)
|
int |
compare(String customFieldObjectValue1,
String customFieldObjectValue2,
FieldConfig fieldConfig)
Compares the two custom field objects. |
protected com.atlassian.crowd.embedded.api.User |
convertDbValueToType(Object string)
Converts a given db value to Single form of Transport Object |
protected Object |
convertTypeToDbValue(com.atlassian.crowd.embedded.api.User value)
Converts a given underlying type to its db storage value. |
protected PersistenceFieldType |
getDatabaseType()
Type of database field needed to store this field. |
FieldTypeInfo |
getFieldTypeInfo(FieldTypeInfoContext fieldTypeInfoContext)
Returns lower level Information about the field. |
JsonData |
getJsonDefaultValue(IssueContext issueCtx,
CustomField field)
Return The default data for this system field. |
FieldJsonRepresentation |
getJsonFromIssue(CustomField field,
Issue issue,
boolean renderedVersionRequested,
FieldLayoutItem fieldLayoutItem)
Return a JsonData representation of the field value |
JsonType |
getJsonSchema(CustomField customField)
Return a description of the shape of this field when represented as JSON. |
ProjectCustomFieldImporter |
getProjectImporter()
Returns the object that will perform the actual project import functions for the custom field type. |
List |
getRelatedIndexers(CustomField customField)
Returns a list of indexers that will be used for the field. |
RestFieldOperationsHandler |
getRestFieldOperation(CustomField field)
Returns the RestFieldOperationsHandler for this field. |
com.atlassian.crowd.embedded.api.User |
getSingularObjectFromString(String s)
Returns a Singular Object, given the string value as passed by the presentation tier. |
String |
getStringFromSingularObject(com.atlassian.crowd.embedded.api.User o)
Returns the String representation of a single value within the CustomFieldType. |
Object |
getStringValueFromCustomFieldParams(CustomFieldParams parameters)
Return the String value object from the CustomFieldParams. |
protected Comparator<com.atlassian.crowd.embedded.api.User> |
getTypeComparator()
Returns a comparator for underlying type of this custom field. |
Collection<com.atlassian.crowd.embedded.api.User> |
getValueFromCustomFieldParams(CustomFieldParams parameters)
Retrieves the Transport Object representing the CustomField value instance from the CustomFieldParams of Strings. |
Map<String,Object> |
getVelocityParameters(Issue issue,
CustomField field,
FieldLayoutItem fieldLayoutItem)
The custom field may wish to pass parameters to the velocity context beyond the getValueFromIssue methods (eg managers). |
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.AbstractMultiCFType |
---|
convertDbObjectToTypes, convertTypesToDbObjects, createValue, getChangelogValue, getDefaultValue, getValueFromIssue, remove, setDefaultValue, updateValue |
Methods inherited from class com.atlassian.jira.issue.customfields.impl.AbstractCustomFieldType |
---|
assertObjectImplementsType, availableForBulkEdit, getChangelogString, getConfigurationItemTypes, getDescription, getDescriptor, getI18nBean, getKey, getName, 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.notification.type.UserCFNotificationTypeAware |
---|
getValueFromIssue |
Field Detail |
---|
protected final MultiUserConverter multiUserConverter
Constructor Detail |
---|
public MultiUserCFType(CustomFieldValuePersister customFieldValuePersister, GenericConfigManager genericConfigManager, MultiUserConverter multiUserConverter, ApplicationProperties applicationProperties, JiraAuthenticationContext authenticationContext, UserPickerSearchService searchService, FieldVisibilityManager fieldVisibilityManager, JiraBaseUrls jiraBaseUrls)
Method Detail |
---|
protected Comparator<com.atlassian.crowd.embedded.api.User> getTypeComparator()
AbstractMultiCFType
getTypeComparator
in class AbstractMultiCFType<com.atlassian.crowd.embedded.api.User>
public Collection<com.atlassian.crowd.embedded.api.User> getValueFromCustomFieldParams(CustomFieldParams parameters) throws FieldValidationException
CustomFieldType
getValueFromCustomFieldParams
in interface CustomFieldType<Collection<com.atlassian.crowd.embedded.api.User>,com.atlassian.crowd.embedded.api.User>
parameters
- 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, T)
, CustomFieldType.updateValue(com.atlassian.jira.issue.fields.CustomField, com.atlassian.jira.issue.Issue, T)
FieldValidationException
- if the String value fails to convert into ObjectsCustomFieldType.createValue(com.atlassian.jira.issue.fields.CustomField, com.atlassian.jira.issue.Issue, Object)
,
CustomFieldType.updateValue(com.atlassian.jira.issue.fields.CustomField, com.atlassian.jira.issue.Issue, Object)
,
CustomFieldType.getValueFromIssue(com.atlassian.jira.issue.fields.CustomField, com.atlassian.jira.issue.Issue)
public Object getStringValueFromCustomFieldParams(CustomFieldParams parameters)
CustomFieldType
getStringValueFromCustomFieldParams
in interface CustomFieldType<Collection<com.atlassian.crowd.embedded.api.User>,com.atlassian.crowd.embedded.api.User>
parameters
- - CustomFieldParams containing String values
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.
validateFromParams
in interface CustomFieldType<Collection<com.atlassian.crowd.embedded.api.User>,com.atlassian.crowd.embedded.api.User>
relevantParams
- parameter object of StringserrorCollectionToAddTo
- errorCollection to which any erros should be added (never null)config
- FieldConfigpublic String getStringFromSingularObject(com.atlassian.crowd.embedded.api.User o)
CustomFieldType
String
representation of a single value within the CustomFieldType. This is the value that
is passed to the presentation tier for editing. For single CustomFieldTypes the Singular Object is
the same as a Transport Object. However, for multi-dimensional CustomFieldTypes, the Singular Object is
the Object contained within the Collection
or Map
getStringFromSingularObject
in interface CustomFieldType<Collection<com.atlassian.crowd.embedded.api.User>,com.atlassian.crowd.embedded.api.User>
o
- the object
public com.atlassian.crowd.embedded.api.User getSingularObjectFromString(String s) throws FieldValidationException
CustomFieldType
getSingularObjectFromString
in interface CustomFieldType<Collection<com.atlassian.crowd.embedded.api.User>,com.atlassian.crowd.embedded.api.User>
s
- the String
FieldValidationException
- if the string is an invalid representation of the Object.@NotNull protected PersistenceFieldType getDatabaseType()
AbstractMultiCFType
getDatabaseType
in class AbstractMultiCFType<com.atlassian.crowd.embedded.api.User>
PersistenceFieldType
types.public List getRelatedIndexers(CustomField customField)
CustomFieldType
getRelatedIndexers
in interface CustomFieldType<Collection<com.atlassian.crowd.embedded.api.User>,com.atlassian.crowd.embedded.api.User>
getRelatedIndexers
in class AbstractCustomFieldType<Collection<com.atlassian.crowd.embedded.api.User>,com.atlassian.crowd.embedded.api.User>
customField
- the custom field to get the related indexers of.
FieldIndexer
objects. Null if no related indexers.protected Object convertTypeToDbValue(com.atlassian.crowd.embedded.api.User value)
AbstractMultiCFType
PersistenceFieldType
returned by AbstractMultiCFType.getDatabaseType()
convertTypeToDbValue
in class AbstractMultiCFType<com.atlassian.crowd.embedded.api.User>
value
- Single form of Transport Object
protected com.atlassian.crowd.embedded.api.User convertDbValueToType(Object string)
AbstractMultiCFType
convertDbValueToType
in class AbstractMultiCFType<com.atlassian.crowd.embedded.api.User>
string
- db representation as returned by AbstractMultiCFType.convertTypeToDbValue(Object)
@NotNull public Map<String,Object> getVelocityParameters(Issue issue, CustomField field, FieldLayoutItem fieldLayoutItem)
CustomFieldType
getVelocityParameters
in interface CustomFieldType<Collection<com.atlassian.crowd.embedded.api.User>,com.atlassian.crowd.embedded.api.User>
getVelocityParameters
in class AbstractCustomFieldType<Collection<com.atlassian.crowd.embedded.api.User>,com.atlassian.crowd.embedded.api.User>
issue
- The issue currently in context (Note: this will be null in cases like 'default value')field
- CustomFieldfieldLayoutItem
- FieldLayoutItem
Map
of parameters to add to the velocity context, or an empty Map otherwise (never null)public ProjectCustomFieldImporter getProjectImporter()
ProjectImportableCustomField
getProjectImporter
in interface ProjectImportableCustomField
public int compare(@NotNull String customFieldObjectValue1, @NotNull String customFieldObjectValue2, FieldConfig fieldConfig)
SortableCustomField
compare
in interface SortableCustomField<String>
customFieldObjectValue1
- Never nullcustomFieldObjectValue2
- Never null
public Object accept(AbstractCustomFieldType.VisitorBase visitor)
accept
in class AbstractMultiCFType<com.atlassian.crowd.embedded.api.User>
public FieldTypeInfo getFieldTypeInfo(FieldTypeInfoContext fieldTypeInfoContext)
RestAwareCustomFieldType
getFieldTypeInfo
in interface RestAwareCustomFieldType
fieldTypeInfoContext
- context information for generating the FieldTypeInfo
.
public JsonType getJsonSchema(CustomField customField)
RestAwareCustomFieldType
getJsonSchema
in interface RestAwareCustomFieldType
public FieldJsonRepresentation getJsonFromIssue(CustomField field, Issue issue, boolean renderedVersionRequested, @Nullable FieldLayoutItem fieldLayoutItem)
RestAwareCustomFieldType
getJsonFromIssue
in interface RestAwareCustomFieldType
field
- configuration of the current fieldissue
- to get field data fromrenderedVersionRequested
- whether the use requested the return of rendered/pretty data as well as raw datafieldLayoutItem
- field layout for this field.
public RestFieldOperationsHandler getRestFieldOperation(CustomField field)
RestCustomFieldTypeOperations
getRestFieldOperation
in interface RestCustomFieldTypeOperations
field
- the Custom Field
public JsonData getJsonDefaultValue(IssueContext issueCtx, CustomField field)
RestCustomFieldTypeOperations
getJsonDefaultValue
in interface RestCustomFieldTypeOperations
issueCtx
- Issue (This should really only need to be an issue context, but for historical reasons we need an issue object.field
- the Custom Field
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |