// ĠCopyright Ġ 2 0 0 0 - 2 0 1 8 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ package Ġcom . intellij . psi . impl . bean Properties Ċ Ċ import Ġcom . intellij . lang . java . beans . Property Kind Ċ import Ġcom . intellij . lang . jvm . Jvm Modifier Ċ import Ġcom . intellij . lang . jvm . actions .* Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . psi . Psi Jvm Subst it utor Ċ import Ġcom . intellij . psi . Psi Subst it utor Ċ import Ġcom . intellij . psi . Psi Type Ċ import Ġcom . intellij . psi . util . Property Util Base . get Accessor Name Ċ Ċ class ĠCreate Bean Property Request ( ĊĠ Ġproject : ĠProject , ĊĠ ĠpropertyName : ĠString , ĊĠ Ġproperty Kind : ĠProperty Kind , ĊĠ Ġprivate Ġval Ġtype : ĠPsi Type Ċ ) Ġ: ĠCreate Method Request Ġ{ ĊĊĠ Ġprivate Ġval Ġis Setter : ĠBoolean Ġ= Ġproperty Kind Ġ== ĠProperty Kind . SET TER ĊĠ Ġprivate Ġval Ġexpected Types Ġ= Ġexpected Types ( type ) ĊĊĠ Ġprivate Ġval Ġmy MethodName Ġ= Ġget Accessor Name ( propertyName , Ġproperty Kind ) ĊĠ Ġoverride Ġfun Ġget MethodName (): ĠString Ġ= Ġmy MethodName ĊĊĠ Ġprivate Ġval Ġmy ReturnType Ġ= Ġif Ġ( is Setter ) Ġexpected Types ( Psi Type . VOID ) Ġelse Ġexpected Types ĊĠ Ġoverride Ġfun Ġget ReturnType () Ġ= Ġmy ReturnType ĊĊĠ Ġprivate Ġval Ġmy Modifiers Ġ= ĠlistOf ( Jvm Modifier . PUBLIC ) ĊĠ Ġoverride Ġfun Ġget Modifiers () Ġ= Ġmy Modifiers ĊĊĠ Ġoverride Ġfun Ġget Annotations () Ġ= Ġempty List < Annotation Request >() ĊĊĠ Ġprivate Ġval Ġmy Target Subst it utor Ġ= ĠPsi Jvm Subst it utor ( project , ĠPsi Subst it utor . EMPTY ) ĊĠ Ġoverride Ġfun Ġget Target Subst it utor () Ġ= Ġmy Target Subst it utor ĊĊĠ Ġprivate Ġval Ġmy Parameters Ġ= Ġif Ġ( is Setter ) ĠlistOf ( expected Parameter ( type , ĠpropertyName )) Ġelse Ġempty List () ĊĠ Ġoverride Ġfun Ġget Expected Parameters () Ġ= Ġmy Parameters ĊĊĠ Ġoverride Ġfun ĠisValid () Ġ= Ġtype . isValid Ċ } Ċ