com.liferay.portal.theme.ThemeCompanyLimit Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of portal-service Show documentation
Show all versions of portal-service Show documentation
Contains interfaces for the portal services. Interfaces are only loaded by the global class loader and are shared by all plugins.
/**
* Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
* any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*/
package com.liferay.portal.theme;
import com.liferay.portal.kernel.util.GetterUtil;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @author Brian Wing Shun Chan
*/
public class ThemeCompanyLimit implements Serializable {
public ThemeCompanyLimit() {
_includes = new ArrayList();
_excludes = new ArrayList();
}
public List getExcludes() {
return _excludes;
}
public List getIncludes() {
return _includes;
}
public boolean isExcluded(long companyId) {
return _matches(_excludes, companyId);
}
public boolean isIncluded(long companyId) {
return _matches(_includes, companyId);
}
public void setExcludes(List extends ThemeCompanyId> excludes) {
_excludes = (List)excludes;
}
public void setIncludes(List extends ThemeCompanyId> includes) {
_includes = (List)includes;
}
private boolean _matches(
List themeCompanyIds, long companyId) {
for (int i = 0; i < themeCompanyIds.size(); i++) {
ThemeCompanyId themeCompanyId = themeCompanyIds.get(i);
String themeCompanyIdValue = themeCompanyId.getValue();
if (themeCompanyId.isPattern()) {
Pattern pattern = Pattern.compile(themeCompanyIdValue);
Matcher matcher = pattern.matcher(String.valueOf(companyId));
if (matcher.matches()) {
return true;
}
}
else {
long themeCompanyIdValueLong = GetterUtil.getLong(
themeCompanyIdValue);
if (themeCompanyIdValueLong == companyId) {
return true;
}
}
}
return false;
}
private List _excludes;
private List _includes;
}