Class FieldLayoutSchemeImpl

java.lang.Object
com.atlassian.jira.issue.fields.screen.AbstractGVBean
com.atlassian.jira.issue.fields.layout.field.FieldLayoutSchemeImpl
All Implemented Interfaces:
FieldLayoutScheme, Named, NamedWithDescription, NamedWithId

public class FieldLayoutSchemeImpl extends AbstractGVBean implements FieldLayoutScheme
Thread safety is mostly achieved (there are still some issues with the AbstractGVBean.setGenericValue(GenericValue) method) by two mechanisms.
  1. all mutative operations to the map are done under a write-lock. For extra safety all stores/loads from the database are also done under the lock, even though this is not ideal.
  2. iteration over the map are protected by a read-lock.