package fr.adrienbrault.idea.symfony2plugin.assistant.reference; import com.intellij.util.xmlb.annotations.Attribute; import com.intellij.util.xmlb.annotations.Tag; import fr.adrienbrault.idea.symfony2plugin.assistant.AssistantPsiReferenceContributor; /** * @author Daniel Espendiller <daniel@espendiller.net> */ @Tag("method_parameter_settings") public class MethodParameterSetting { private String callTo; private String methodName; private String ReferenceProviderName; private int indexParameter; private String contributorName; private String contributorData; private AssistantPsiReferenceContributor assistantPsiReferenceContributor = null; public MethodParameterSetting() { } public MethodParameterSetting(String callTo, String methodName, int indexParameter, String provider) { this.callTo = callTo; this.methodName = methodName; this.indexParameter = indexParameter; this.ReferenceProviderName = provider; } public MethodParameterSetting(String callTo, String methodName, int indexParameter, String provider, String contributorName, String contributorTypeData) { this(callTo, methodName, indexParameter, provider); this.contributorName = contributorName; this.contributorData = contributorTypeData; } public MethodParameterSetting(String callTo, String methodName, int indexParameter, DefaultReferenceProvider.DEFAULT_PROVIDER_ENUM provider, DefaultReferenceContributor.DEFAULT_CONTRIBUTORS_ENUM contributorName, String contributorTypeData) { this(callTo, methodName, indexParameter, provider.toString()); this.contributorName = contributorName.toString(); this.contributorData = contributorTypeData; } public void setCallTo(String callTo) { this.callTo = callTo; } public void setMethodName(String methodName) { this.methodName = methodName; } public void setReferenceProviderName(String providerName) { this.ReferenceProviderName = providerName; } public void setIndexParameter(int indexParameter) { this.indexParameter = indexParameter; } public void setContributorName(String contributorType) { this.contributorName = contributorType; } public void setContributorData(String contributorTypeData) { this.contributorData = contributorTypeData; } @Attribute("CallTo") public String getCallTo() { return callTo; } @Attribute("MethodName") public String getMethodName() { return methodName; } @Attribute("IndexParameter") public int getIndexParameter() { return indexParameter; } @Attribute("ReferenceProviderName") public String getReferenceProviderName() { return ReferenceProviderName; } @Attribute("contributorName") public String getContributorName() { return contributorName; } @Attribute("ContributorData") public String getContributorData() { return contributorData; } public MethodParameterSetting withPsiReference(AssistantPsiReferenceContributor assistantPsiReferenceContributor) { this.assistantPsiReferenceContributor = assistantPsiReferenceContributor; return this; } public AssistantPsiReferenceContributor getAssistantPsiReferenceContributor() { return assistantPsiReferenceContributor; } public boolean hasAssistantPsiReferenceContributor() { return this.assistantPsiReferenceContributor != null; } }