com.atlassian.jira.issue.fields.layout.field.enterprise
Class ImmutableFieldConfigurationScheme

java.lang.Object
  extended by com.atlassian.jira.issue.fields.layout.field.enterprise.ImmutableFieldConfigurationScheme
All Implemented Interfaces:
FieldConfigurationScheme

public class ImmutableFieldConfigurationScheme
extends Object
implements FieldConfigurationScheme

An Immutable object representing a FieldConfigurationScheme (aka FieldLayoutScheme).

This object was introduced for caching because the mutable cached object FieldLayoutSchemeImpl was causing performance problems due to contention on its Locks (see JRA-16870).

Since:
v4.0

Constructor Summary
ImmutableFieldConfigurationScheme(org.ofbiz.core.entity.GenericValue genericValue, Collection<org.ofbiz.core.entity.GenericValue> fieldLayoutSchemeEntityGVs)
           
 
Method Summary
 Set<Long> getAllFieldLayoutIds(Collection<String> allIssueTypeIds)
          Returns the id's of the field layout's represented by FieldConfigurationScheme (i.e.
 String getDescription()
           
 Long getFieldLayoutId(String issueTypeId)
          Returns the id of the field layout to use for this given issue type id.
 Long getId()
           
 String getName()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ImmutableFieldConfigurationScheme

public ImmutableFieldConfigurationScheme(org.ofbiz.core.entity.GenericValue genericValue,
                                         Collection<org.ofbiz.core.entity.GenericValue> fieldLayoutSchemeEntityGVs)
Method Detail

getFieldLayoutId

public Long getFieldLayoutId(String issueTypeId)
Description copied from interface: FieldConfigurationScheme
Returns the id of the field layout to use for this given issue type id. This will do all the necessary work to lookup the default entry if no specific mapping for the given isuse type id exists. So after calling this method simply use the returned field layout id.

Specified by:
getFieldLayoutId in interface FieldConfigurationScheme
Parameters:
issueTypeId - the Issue Type ID.
Returns:
the id of the FieldLayout ("Field Configuration") to use for this given issue type id.

getAllFieldLayoutIds

public Set<Long> getAllFieldLayoutIds(Collection<String> allIssueTypeIds)
Description copied from interface: FieldConfigurationScheme
Returns the id's of the field layout's represented by FieldConfigurationScheme (i.e. the layouts associated with this project).

Specified by:
getAllFieldLayoutIds in interface FieldConfigurationScheme
Parameters:
allIssueTypeIds - all the issue type id's that are in the system. This is used to determine if we need to return the layout for the default, if we have all the issue types mapped in the system then we do not care about the default since it is never used.
Returns:
the id's of the FieldLayout ("Field Configuration") to use for the project this is associcated with.

getId

public Long getId()
Specified by:
getId in interface FieldConfigurationScheme

getName

public String getName()
Specified by:
getName in interface FieldConfigurationScheme

getDescription

public String getDescription()
Specified by:
getDescription in interface FieldConfigurationScheme


Copyright © 2002-2014 Atlassian. All Rights Reserved.