Skip to content

Instantly share code, notes, and snippets.

@mrehan27
Last active January 25, 2022 04:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mrehan27/03820bf1e1f51c890ebfb5cdcaea99aa to your computer and use it in GitHub Desktop.
Save mrehan27/03820bf1e1f51c890ebfb5cdcaea99aa to your computer and use it in GitHub Desktop.
Getter and setter templates used for Android Studio that handle variables starting with m and Observable fields used with data binding
public ##
#if($field.modifierStatic)
static ##
#end
#set($isObservable = $StringUtil.startsWith($field.type, $'android.databinding.Observable'))
#if($isObservable)
#if($StringUtil.contains($field.type, $'<'))
$StringUtil.substringBefore($StringUtil.substringAfter($field.type, $"<"), $">") ##
#else
$StringUtil.toLowerCase($StringUtil.substringAfter($field.type, $".Observable")) ##
#end
#else
$field.type ##
#end
#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($helper.getPropertyName($field, $project))))
#if ($field.boolean)
#if ($StringUtil.startsWithIgnoreCase($name, 'is'))
#set($name = $StringUtil.decapitalize($name))
#set($prefix = "")
#else
#set($prefix = "is")
#end
#else
#set($prefix = "get")
#end
#set($identifier = "m")
#if($StringUtil.startsWith($name, $identifier))
#set($paramName = $StringUtil.substringAfter($name, $identifier))
#else
#set($paramName = $name)
#end
${prefix}${paramName}() {
#if($isObservable)
return $field.name. get();
#else
return $field.name;
#end
}
#set($fieldName = $helper.getParamName($field, $project))
#set($methodName = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($fieldName)))
#set($identifier = "m")
#set($isObservable = $StringUtil.startsWith($field.type, $'android.databinding.Observable'))
#if($StringUtil.startsWith($methodName, $identifier))
#set($prefix = "")
#set($paramName = $StringUtil.substringAfter($methodName, $identifier))
#set($methodName = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($paramName)))
#else
#set($prefix = "this.")
#set($paramName = $fieldName)
#end
public ##
#if($field.modifierStatic)
static ##
#end
#if($isObservable)
#if($StringUtil.contains($field.type, $'<'))
void set$methodName($StringUtil.substringBefore($StringUtil.substringAfter($field.type, $"<"), $">") $StringUtil.decapitalize($paramName)) {
$prefix$field.name .set($StringUtil.decapitalize($paramName));
#else
void set$methodName($StringUtil.toLowerCase($StringUtil.substringAfter($field.type, $".Observable")) $StringUtil.decapitalize($paramName)) {
$prefix$field.name .set($StringUtil.decapitalize($paramName));
#end
#else
void set$methodName($field.type $StringUtil.decapitalize($paramName)) {
$prefix$field.name = $StringUtil.decapitalize($paramName);
#end
}
@Nirosha-Sampath
Copy link

Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment