|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.atlassian.jira.issue.IssueInputParametersImpl
public class IssueInputParametersImpl
Default implementation of IssueInputParameters.
Plugin developers should callIssueService.newIssueInputParameters()
or IssueService.newIssueInputParameters(java.util.Map).
| Constructor Summary | |
|---|---|
IssueInputParametersImpl()
|
|
IssueInputParametersImpl(Map<String,String[]> actionParameters)
Can be used to quickly convert some "web-style" parameters (which can be the result of a form submit with the fields rendered create/edit html) to an IssueInputParameters object. |
|
| Method Summary | |
|---|---|
IssueInputParameters |
addCustomFieldValue(Long customFieldId,
String... values)
Adds a value for a custom field with the specified id. |
IssueInputParameters |
addCustomFieldValue(String fullCustomFieldKey,
String... values)
Adds a value for a custom field with the specified full key. |
void |
addFieldToForcePresent(String fieldId)
Extra fields to consider present, even if they are not in the actionParams. |
boolean |
applyDefaultValuesWhenParameterNotProvided()
|
Map<String,String[]> |
getActionParameters()
This provides the "web-style" parameters that JIRA fields expect to perform their functions. |
Long[] |
getAffectedVersionIds()
|
String |
getAssigneeId()
|
String |
getCommentValue()
|
Long[] |
getComponentIds()
|
String[] |
getCustomFieldValue(Long customFieldId)
|
String[] |
getCustomFieldValue(String fullCustomFieldKey)
|
String |
getDescription()
|
String |
getDueDate()
|
String |
getEnvironment()
|
Map<String,Object> |
getFieldValuesHolder()
|
Long[] |
getFixVersionIds()
|
String |
getIssueTypeId()
|
Long |
getOriginalEstimate()
Gets the original estimate set. |
String |
getOriginalEstimateAsDurationString()
Gets the original estimate set. |
String |
getPriorityId()
|
Long |
getProjectId()
|
Collection<String> |
getProvidedFields()
|
Long |
getRemainingEstimate()
Gets the remaining estimate set. |
String |
getRemainingEstimateAsDurationString()
Gets the remaining estimate provided If ( APKeys.JIRA_OPTION_TIMETRACKING_ESTIMATES_LEGACY_BEHAVIOUR is set,
we are in legacy time tracking mode and this will return the same as IssueInputParameters.getOriginalEstimateAsDurationString(). |
String |
getReporterId()
|
String |
getResolutionDate()
|
String |
getResolutionId()
|
Long |
getSecurityLevelId()
|
String |
getStatusId()
|
String |
getSummary()
|
Long |
getTimeSpent()
|
boolean |
isFieldPresent(String fieldId)
|
boolean |
isFieldSet(String fieldId)
|
boolean |
onlyValidatePresentFieldsWhenRetainingExistingValues()
Get the flag to designate which fields are to be validated when the IssueInputParameters.retainExistingValuesWhenParameterNotProvided()
flag is set to true. |
boolean |
retainExistingValuesWhenParameterNotProvided()
|
IssueInputParameters |
setAffectedVersionIds(Long... affectedVersionIds)
|
void |
setApplyDefaultValuesWhenParameterNotProvided(boolean applyDefaultValuesWhenParameterNotProvided)
|
IssueInputParameters |
setAssigneeId(String assigneeId)
|
IssueInputParameters |
setComment(String comment)
Set a comment value with no visibility restrictions. |
IssueInputParameters |
setComment(String comment,
Long projectRoleId)
Set a comment value with a project role restriction. |
IssueInputParameters |
setComment(String comment,
String groupId)
Set a comment value with a group restriction. |
IssueInputParameters |
setComponentIds(Long... componentIds)
|
IssueInputParameters |
setDescription(String description)
|
IssueInputParameters |
setDueDate(String dueDate)
|
IssueInputParameters |
setEnvironment(String environment)
|
void |
setFieldValuesHolder(Map<String,Object> fieldValuesHolder)
If set the validation will use the seed values from this field values holder. |
IssueInputParameters |
setFixVersionIds(Long... fixVersionIds)
|
IssueInputParameters |
setIssueTypeId(String issueTypeId)
|
IssueInputParameters |
setOriginalAndRemainingEstimate(Long originalEstimate,
Long remainingEstimate)
Sets both the original and remaining estimate on the issue. |
IssueInputParameters |
setOriginalAndRemainingEstimate(String originalEstimate,
String remainingEstimate)
Sets both the original and remaining estimate on the issue. |
IssueInputParameters |
setOriginalEstimate(Long originalEstimate)
Sets the original estimate on the issue. |
IssueInputParameters |
setOriginalEstimate(String originalEstimate)
Sets the original estimate on the issue. |
IssueInputParameters |
setPriorityId(String priorityId)
|
IssueInputParameters |
setProjectId(Long projectId)
|
void |
setProvidedFields(Collection<String> providedFields)
Use this to indicate which fields validation should be performed on, if left alone then the systems configured fields for either create/update will be used. |
IssueInputParameters |
setRemainingEstimate(Long remainingEstimate)
Sets the remaining estimate on the issue If ( APKeys.JIRA_OPTION_TIMETRACKING_ESTIMATES_LEGACY_BEHAVIOUR is set,
we are in legacy time tracking mode and this method behaves differently. |
IssueInputParameters |
setRemainingEstimate(String remainingEstimate)
Sets the remaining estimate on the issue If ( APKeys.JIRA_OPTION_TIMETRACKING_ESTIMATES_LEGACY_BEHAVIOUR is set,
we are in legacy time tracking mode and this method behaves differently. |
IssueInputParameters |
setReporterId(String reporterId)
|
IssueInputParameters |
setResolutionDate(String resolutionDate)
|
IssueInputParameters |
setResolutionId(String resolutionId)
|
void |
setRetainExistingValuesWhenParameterNotProvided(boolean retain)
Flag to designate whether existing values should be retained when no parameter is provided. |
void |
setRetainExistingValuesWhenParameterNotProvided(boolean retainExistingValues,
boolean onlyValidatePresentFields)
Set flags IssueInputParameters.retainExistingValuesWhenParameterNotProvided() and IssueInputParameters.onlyValidatePresentFieldsWhenRetainingExistingValues(). |
IssueInputParameters |
setSecurityLevelId(Long securityLevelId)
|
void |
setSkipScreenCheck(boolean skipScreenCheck)
Set the flag to skip screen checks during update. |
IssueInputParameters |
setStatusId(String statusId)
|
IssueInputParameters |
setSummary(String summary)
|
IssueInputParameters |
setTimeSpent(Long timeSpent)
|
boolean |
skipScreenCheck()
Get the flag to skip screen checks during update. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public IssueInputParametersImpl()
public IssueInputParametersImpl(Map<String,String[]> actionParameters)
actionParameters - provides the default starting values for this object.| Method Detail |
|---|
public IssueInputParameters setProjectId(Long projectId)
setProjectId in interface IssueInputParametersprojectId - sets the project id for the issue.
public Long getProjectId()
getProjectId in interface IssueInputParameterspublic IssueInputParameters setIssueTypeId(String issueTypeId)
setIssueTypeId in interface IssueInputParametersissueTypeId - sets the issue type for the issue.
public String getIssueTypeId()
getIssueTypeId in interface IssueInputParameterspublic IssueInputParameters setPriorityId(String priorityId)
setPriorityId in interface IssueInputParameterspriorityId - sets the priority for the issue.
public String getPriorityId()
getPriorityId in interface IssueInputParameterspublic IssueInputParameters setResolutionId(String resolutionId)
setResolutionId in interface IssueInputParametersresolutionId - sets the resolution for the issue.
public String getResolutionId()
getResolutionId in interface IssueInputParameterspublic IssueInputParameters setStatusId(String statusId)
setStatusId in interface IssueInputParametersstatusId - sets the status of the issue.
public String getStatusId()
getStatusId in interface IssueInputParameterspublic IssueInputParameters setSummary(String summary)
setSummary in interface IssueInputParameterssummary - sets the summary for the issue.
public String getSummary()
getSummary in interface IssueInputParameterspublic IssueInputParameters setDescription(String description)
setDescription in interface IssueInputParametersdescription - sets the description for the issue.
public String getDescription()
getDescription in interface IssueInputParameterspublic IssueInputParameters setEnvironment(String environment)
setEnvironment in interface IssueInputParametersenvironment - sets the environment of the issue.
public String getEnvironment()
getEnvironment in interface IssueInputParameterspublic IssueInputParameters setAssigneeId(String assigneeId)
setAssigneeId in interface IssueInputParametersassigneeId - sets the assignee id for the issue.
public String getAssigneeId()
getAssigneeId in interface IssueInputParameterspublic IssueInputParameters setReporterId(String reporterId)
setReporterId in interface IssueInputParametersreporterId - sets the reporter id for the issue.
public String getReporterId()
getReporterId in interface IssueInputParameterspublic IssueInputParameters setComponentIds(Long... componentIds)
setComponentIds in interface IssueInputParameterscomponentIds - sets the components id's on the issue.
public Long[] getComponentIds()
getComponentIds in interface IssueInputParameterspublic IssueInputParameters setFixVersionIds(Long... fixVersionIds)
setFixVersionIds in interface IssueInputParametersfixVersionIds - sets the fix version id's on the issue.
public Long[] getFixVersionIds()
getFixVersionIds in interface IssueInputParameterspublic IssueInputParameters setAffectedVersionIds(Long... affectedVersionIds)
setAffectedVersionIds in interface IssueInputParametersaffectedVersionIds - sets the affected version id's= on the issue.
public Long[] getAffectedVersionIds()
getAffectedVersionIds in interface IssueInputParameterspublic IssueInputParameters setDueDate(String dueDate)
setDueDate in interface IssueInputParametersdueDate - the formatted string that JIRA will accept as a date that will be set on the issue.
public String getDueDate()
getDueDate in interface IssueInputParameterspublic IssueInputParameters setResolutionDate(String resolutionDate)
setResolutionDate in interface IssueInputParametersresolutionDate - the formatted string that JIRA will accept as a date that will be set on the issue.
public String getResolutionDate()
getResolutionDate in interface IssueInputParameterspublic IssueInputParameters setSecurityLevelId(Long securityLevelId)
setSecurityLevelId in interface IssueInputParameterssecurityLevelId - sets the security level id on the issue.
public Long getSecurityLevelId()
getSecurityLevelId in interface IssueInputParameterspublic IssueInputParameters setOriginalEstimate(Long originalEstimate)
IssueInputParametersAPKeys.JIRA_OPTION_TIMETRACKING_ESTIMATES_LEGACY_BEHAVIOUR is set,
we are in legacy time tracking mode and this method behaves differently.
See http://confluence.atlassian.com/display/JIRA044/Configuring+Time+Tracking#ConfiguringTimeTracking-legacymode
for more information on legacy mode.
IssueInputParameters.setOriginalAndRemainingEstimate(String, String) / IssueInputParameters.setOriginalAndRemainingEstimate(Long, Long).
Calls to IssueInputParameters.setOriginalEstimate(Long) / IssueInputParameters.setOriginalEstimate(String) and IssueInputParameters.setRemainingEstimate(Long) /
IssueInputParameters.setRemainingEstimate(String) are mutually exclusive, so calling both on the same instance will
not produce the desired effect.
setOriginalEstimate in interface IssueInputParametersoriginalEstimate - the new original estimate on the issue. The units used are determined by
APKeys.JIRA_TIMETRACKING_DEFAULT_UNIT.
public IssueInputParameters setOriginalEstimate(String originalEstimate)
IssueInputParametersAPKeys.JIRA_OPTION_TIMETRACKING_ESTIMATES_LEGACY_BEHAVIOUR is set,
we are in legacy time tracking mode and this method behaves differently.
See http://confluence.atlassian.com/display/JIRA044/Configuring+Time+Tracking#ConfiguringTimeTracking-legacymode
for more information on legacy mode.
IssueInputParameters.setOriginalAndRemainingEstimate(String, String). Calls to IssueInputParameters.setOriginalEstimate(Long) /
IssueInputParameters.setOriginalEstimate(String) and IssueInputParameters.setRemainingEstimate(Long) / IssueInputParameters.setRemainingEstimate(String)
are mutually exclusive, so calling both on the same instance will not produce the desired effect.
setOriginalEstimate in interface IssueInputParametersoriginalEstimate - the new original estimate on the issue, e.g. "1d 5h" for 1 day and 5 hours
public IssueInputParameters setRemainingEstimate(Long remainingEstimate)
IssueInputParametersAPKeys.JIRA_OPTION_TIMETRACKING_ESTIMATES_LEGACY_BEHAVIOUR is set,
we are in legacy time tracking mode and this method behaves differently.
See http://confluence.atlassian.com/display/JIRA044/Configuring+Time+Tracking#ConfiguringTimeTracking-legacymode
for more information on legacy mode.
IssueInputParameters.setOriginalEstimate(String), changing
the original and remaining estimate if work has not yet started.
If work has already been logged, it will alter the remaining estimate but leave the original
estimate unchanged.IssueInputParameters.setOriginalAndRemainingEstimate(String, String) / IssueInputParameters.setOriginalAndRemainingEstimate(Long, Long).
Calls to IssueInputParameters.setOriginalEstimate(Long) / IssueInputParameters.setOriginalEstimate(String) and IssueInputParameters.setRemainingEstimate(Long) /
IssueInputParameters.setRemainingEstimate(String) are mutually exclusive, so calling both on the same instance will
not produce the desired effect.
setRemainingEstimate in interface IssueInputParametersremainingEstimate - the remaining estimate on the issue. The units used are determined by
APKeys.JIRA_TIMETRACKING_DEFAULT_UNIT.
public IssueInputParameters setRemainingEstimate(String remainingEstimate)
IssueInputParametersAPKeys.JIRA_OPTION_TIMETRACKING_ESTIMATES_LEGACY_BEHAVIOUR is set,
we are in legacy time tracking mode and this method behaves differently.
See http://confluence.atlassian.com/display/JIRA044/Configuring+Time+Tracking#ConfiguringTimeTracking-legacymode
for more information on legacy mode.
IssueInputParameters.setOriginalEstimate(String), changing
the original and remaining estimate if work has not yet started.
If work has already been logged, it will alter the remaining estimate but leave the original
estimate unchanged.IssueInputParameters.setOriginalAndRemainingEstimate(String, String) / IssueInputParameters.setOriginalAndRemainingEstimate(Long, Long).
Calls to IssueInputParameters.setOriginalEstimate(Long) / IssueInputParameters.setOriginalEstimate(String) and IssueInputParameters.setRemainingEstimate(Long) /
IssueInputParameters.setRemainingEstimate(String) are mutually exclusive, so calling both on the same instance will
not produce the desired effect.
setRemainingEstimate in interface IssueInputParametersremainingEstimate - the remaining estimate on the issue, e.g. "1d 5h" for 1 day and 5 hours
public IssueInputParameters setOriginalAndRemainingEstimate(String originalEstimate,
String remainingEstimate)
IssueInputParametersAPKeys.JIRA_OPTION_TIMETRACKING_ESTIMATES_LEGACY_BEHAVIOUR is set,
we are in legacy time tracking mode and this method has no effect.
See http://confluence.atlassian.com/display/JIRA044/Configuring+Time+Tracking#ConfiguringTimeTracking-legacymode
for more information on legacy mode.
setOriginalAndRemainingEstimate in interface IssueInputParametersoriginalEstimate - the new original estimate, e.g. "1d 5h" for 1 day and 5 hoursremainingEstimate - the new remaining estimate, e.g. "1d 5h" for 1 day and 5 hours
public IssueInputParameters setOriginalAndRemainingEstimate(Long originalEstimate,
Long remainingEstimate)
IssueInputParametersAPKeys.JIRA_OPTION_TIMETRACKING_ESTIMATES_LEGACY_BEHAVIOUR is set,
we are in legacy time tracking mode and this method has no effect.
See http://confluence.atlassian.com/display/JIRA044/Configuring+Time+Tracking#ConfiguringTimeTracking-legacymode
for more information on legacy mode.
setOriginalAndRemainingEstimate in interface IssueInputParametersoriginalEstimate - the new original estimate. The units used are determined by
APKeys.JIRA_TIMETRACKING_DEFAULT_UNIT.remainingEstimate - the new remaining estimate.The units used are determined by
APKeys.JIRA_TIMETRACKING_DEFAULT_UNIT.
public Long getOriginalEstimate()
IssueInputParametersAPKeys.JIRA_OPTION_TIMETRACKING_ESTIMATES_LEGACY_BEHAVIOUR is set,
we are in legacy time tracking mode and this will return the same as IssueInputParameters.getRemainingEstimate().
See http://confluence.atlassian.com/display/JIRA044/Configuring+Time+Tracking#ConfiguringTimeTracking-legacymode
for more information on legacy mode.
getOriginalEstimate in interface IssueInputParameterspublic Long getRemainingEstimate()
IssueInputParametersAPKeys.JIRA_OPTION_TIMETRACKING_ESTIMATES_LEGACY_BEHAVIOUR is set,
we are in legacy time tracking mode and this will return the same as IssueInputParameters.getOriginalEstimate() .
See http://confluence.atlassian.com/display/JIRA044/Configuring+Time+Tracking#ConfiguringTimeTracking-legacymode
for more information on legacy mode.
getRemainingEstimate in interface IssueInputParameterspublic String getRemainingEstimateAsDurationString()
IssueInputParametersAPKeys.JIRA_OPTION_TIMETRACKING_ESTIMATES_LEGACY_BEHAVIOUR is set,
we are in legacy time tracking mode and this will return the same as IssueInputParameters.getOriginalEstimateAsDurationString().
See http://confluence.atlassian.com/display/JIRA044/Configuring+Time+Tracking#ConfiguringTimeTracking-legacymode
for more information on legacy mode.
getRemainingEstimateAsDurationString in interface IssueInputParameterspublic String getOriginalEstimateAsDurationString()
IssueInputParametersAPKeys.JIRA_OPTION_TIMETRACKING_ESTIMATES_LEGACY_BEHAVIOUR is set,
we are in legacy time tracking mode and this will return the same as IssueInputParameters.getRemainingEstimateAsDurationString().
See http://confluence.atlassian.com/display/JIRA044/Configuring+Time+Tracking#ConfiguringTimeTracking-legacymode
for more information on legacy mode.
getOriginalEstimateAsDurationString in interface IssueInputParameterspublic IssueInputParameters setTimeSpent(Long timeSpent)
setTimeSpent in interface IssueInputParameterstimeSpent - sets the time spent on the issue.
public Long getTimeSpent()
getTimeSpent in interface IssueInputParameters
public IssueInputParameters addCustomFieldValue(Long customFieldId,
String... values)
IssueInputParametersIssueInputParameters.addCustomFieldValue(String, String...).
addCustomFieldValue in interface IssueInputParameterscustomFieldId - the unique identifier of the custom field.values - the custom field values, must be in the format the field expects.
public IssueInputParameters addCustomFieldValue(String fullCustomFieldKey,
String... values)
IssueInputParameters
addCustomFieldValue in interface IssueInputParametersfullCustomFieldKey - used in the "web-style" parameters as the key, the custom field should expect this
value as the key in its populate from parameters method.values - the custom field values, must be in the format the field expects.
public boolean retainExistingValuesWhenParameterNotProvided()
retainExistingValuesWhenParameterNotProvided in interface IssueInputParameterspublic void setRetainExistingValuesWhenParameterNotProvided(boolean retain)
IssueInputParametersIssueInputParameters.setRetainExistingValuesWhenParameterNotProvided(boolean, boolean) instead.
setRetainExistingValuesWhenParameterNotProvided in interface IssueInputParametersretain - true if non-provided parameters should have the values retained, false otherwise.IssueInputParameters.retainExistingValuesWhenParameterNotProvided(),
IssueInputParameters.setRetainExistingValuesWhenParameterNotProvided(boolean, boolean)
public void setRetainExistingValuesWhenParameterNotProvided(boolean retainExistingValues,
boolean onlyValidatePresentFields)
IssueInputParametersIssueInputParameters.retainExistingValuesWhenParameterNotProvided() and IssueInputParameters.onlyValidatePresentFieldsWhenRetainingExistingValues().
The latter is only relevant when the former is true.
setRetainExistingValuesWhenParameterNotProvided in interface IssueInputParametersretainExistingValues - true if non-provided parameters should have the values retained, false otherwise.onlyValidatePresentFields - whether or not to only validate present fieldsIssueInputParameters.onlyValidatePresentFieldsWhenRetainingExistingValues(),
IssueService.validateUpdate(com.atlassian.crowd.embedded.api.User, Long, IssueInputParameters)public boolean onlyValidatePresentFieldsWhenRetainingExistingValues()
IssueInputParametersIssueInputParameters.retainExistingValuesWhenParameterNotProvided()
flag is set to true.
If this flag is true, only fields which are "present" will take part in validation (and subsequently
update) on the issue. This allows single-field edits to ignore the validation of other fields on the issue.
If this flag is false, or if IssueInputParameters.retainExistingValuesWhenParameterNotProvided() is false,
then all fields on the screen of the current operation will partake in the "validation-update" step.
onlyValidatePresentFieldsWhenRetainingExistingValues in interface IssueInputParametersIssueService.validateUpdate(com.atlassian.crowd.embedded.api.User, Long, IssueInputParameters)public boolean applyDefaultValuesWhenParameterNotProvided()
applyDefaultValuesWhenParameterNotProvided in interface IssueInputParameterspublic void setApplyDefaultValuesWhenParameterNotProvided(boolean applyDefaultValuesWhenParameterNotProvided)
setApplyDefaultValuesWhenParameterNotProvided in interface IssueInputParametersapplyDefaultValuesWhenParameterNotProvided - true if default value should be supplied when a parameter has not been provided. false if the
default value should not be applied.public boolean skipScreenCheck()
IssueInputParameters
skipScreenCheck in interface IssueInputParametersIssueService.validateUpdate(com.atlassian.crowd.embedded.api.User, Long, IssueInputParameters)public void setSkipScreenCheck(boolean skipScreenCheck)
IssueInputParameters
setSkipScreenCheck in interface IssueInputParametersskipScreenCheck - whether or not we are skipping screen checkIssueService.validateUpdate(com.atlassian.crowd.embedded.api.User, Long, IssueInputParameters)public String[] getCustomFieldValue(Long customFieldId)
getCustomFieldValue in interface IssueInputParameterscustomFieldId - uniquely identifies the custom field value you are looking for.
public String[] getCustomFieldValue(String fullCustomFieldKey)
getCustomFieldValue in interface IssueInputParametersfullCustomFieldKey - identifies the custom field values you are looking for.
public String getCommentValue()
getCommentValue in interface IssueInputParameterspublic IssueInputParameters setComment(String comment)
IssueInputParameters
setComment in interface IssueInputParameterscomment - the comment value.
public IssueInputParameters setComment(String comment,
Long projectRoleId)
IssueInputParameters
setComment in interface IssueInputParameterscomment - the comment value.projectRoleId - the id of the project role the comment must be restricted by.
public IssueInputParameters setComment(String comment,
String groupId)
IssueInputParameters
setComment in interface IssueInputParameterscomment - the comment value.groupId - the group name that the comment must be restricted by.
public Map<String,String[]> getActionParameters()
IssueInputParameters
getActionParameters in interface IssueInputParameterspublic void setFieldValuesHolder(Map<String,Object> fieldValuesHolder)
IssueInputParameters
setFieldValuesHolder in interface IssueInputParametersfieldValuesHolder - provides the seed values for the field values holder.public Map<String,Object> getFieldValuesHolder()
getFieldValuesHolder in interface IssueInputParameterspublic Collection<String> getProvidedFields()
getProvidedFields in interface IssueInputParameterspublic void setProvidedFields(Collection<String> providedFields)
IssueInputParameters
setProvidedFields in interface IssueInputParametersprovidedFields - a collection of Field.getId()'s which identify the
fields.public boolean isFieldSet(String fieldId)
isFieldSet in interface IssueInputParametersfieldId - identifies the field in question, this will be the Field.getId().
public void addFieldToForcePresent(String fieldId)
IssueInputParameters
addFieldToForcePresent in interface IssueInputParametersfieldId - the id of the field to force to be presentpublic boolean isFieldPresent(String fieldId)
isFieldPresent in interface IssueInputParametersfieldId - identifies the field in question, this will be the Field.getId().
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||