/* * Copyright (c) 2014 EMC Corporation * All Rights Reserved */ package com.emc.storageos.scaleio.api; import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * This class will contain a REGEX string and a name. It is used for finding output line matches * for processing by the AbstractScaleIOQueryCommand implementation. */ public class ParsePattern { String patternString; Pattern pattern; String propertyName; public ParsePattern(String pattern, String propertyName) { this.patternString = pattern; this.pattern = Pattern.compile(pattern); this.propertyName = propertyName; } public List<String> isMatch(String string) { List<String> list = null; Matcher matcher; if ((matcher = pattern.matcher(string)).matches()) { list = new ArrayList<String>(); int count = matcher.groupCount(); for (int index = 1; index <= count; index++) { list.add(matcher.group(index)); } } return list; } public String getPropertyName() { return propertyName; } }