{
  "main": {
    "prefix": ["main", "psvm"],
    "body": ["public static void main(String[] args) {", "\t$0", "}"],
    "description": "Public static main method"
  },
  "Public constructor": {
    "prefix": "ctor",
    "body": ["public ${1:${TM_FILENAME_BASE}}($2) {", "\t${3:super();}$0", "}"],
    "description": "Public constructor"
  },
  "trycatch": {
    "prefix": "try_catch",
    "body": [
      "try {",
      "\t$1",
      "} catch (${2:Exception} ${3:e}) {",
      "\t$0// TODO: handle exception",
      "}"
    ],
    "description": "try/catch block"
  },
  "tryresources": {
    "prefix": "try_resources",
    "body": [
      "try ($1) {",
      "\t$2",
      "} catch (${3:Exception} ${4:e}) {",
      "\t$0// TODO: handle exception",
      "}"
    ]
  },
  "private_method": {
    "prefix": "private_method",
    "body": ["private ${1:void} ${2:name}($3) {", "\t$0", "}"],
    "description": "private method"
  },
  "Public method": {
    "prefix": "public_method",
    "body": ["public ${1:void} ${2:name}(${3}) {", "\t$0", "}"],
    "description": "public method"
  },
  "Private static method": {
    "prefix": "private_static_method",
    "body": ["private static ${1:Type} ${2:name}(${3}) {", "\t$0", "}"],
    "description": "private static method"
  },
  "Public static method": {
    "prefix": "public_static_method",
    "body": ["public static ${1:void} ${2:name}(${3}) {", "\t$0", "}"],
    "description": "public static method"
  },
  "Protected Method": {
    "prefix": "protected_method",
    "body": ["protected ${1:void} ${2:name}(${3}) {", "\t$0", "}"],
    "description": "Protected method"
  },
  "Switch Statement": {
    "prefix": "switch",
    "body": [
      "switch (${1:key}) {",
      "\tcase ${2:value}:",
      "\t\t$0",
      "\t\tbreak;",
      "",
      "\tdefault:",
      "\t\tbreak;",
      "}"
    ],
    "description": "Switch Statement"
  },
  "newObject": {
    "prefix": "new",
    "body": ["${1:Object} ${2:foo} = new ${1}($3);", "$0"],
    "description": "Create new Object"
  },
  "Private field": {
    "prefix": "prf",
    "body": ["private ${1:String} ${2:name};"],
    "description": "Private field"
  }
}
