com.liferay.friendly.url.service.persistence.impl.FriendlyURLEntryMappingModelArgumentsResolver Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of com.liferay.friendly.url.service
Show all versions of com.liferay.friendly.url.service
Liferay Friendly URL Service
The newest version!
/**
* SPDX-FileCopyrightText: (c) 2000 Liferay, Inc. https://liferay.com
* SPDX-License-Identifier: LGPL-2.1-or-later OR LicenseRef-Liferay-DXP-EULA-2.0.0-2023-06
*/
package com.liferay.friendly.url.service.persistence.impl;
import com.liferay.friendly.url.model.FriendlyURLEntryMappingTable;
import com.liferay.friendly.url.model.impl.FriendlyURLEntryMappingImpl;
import com.liferay.friendly.url.model.impl.FriendlyURLEntryMappingModelImpl;
import com.liferay.portal.kernel.dao.orm.ArgumentsResolver;
import com.liferay.portal.kernel.dao.orm.FinderPath;
import com.liferay.portal.kernel.model.BaseModel;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import org.osgi.service.component.annotations.Component;
/**
* The arguments resolver class for retrieving value from FriendlyURLEntryMapping.
*
* @author Brian Wing Shun Chan
* @generated
*/
@Component(
property = {
"class.name=com.liferay.friendly.url.model.impl.FriendlyURLEntryMappingImpl",
"table.name=FriendlyURLEntryMapping"
},
service = ArgumentsResolver.class
)
public class FriendlyURLEntryMappingModelArgumentsResolver
implements ArgumentsResolver {
@Override
public Object[] getArguments(
FinderPath finderPath, BaseModel> baseModel, boolean checkColumn,
boolean original) {
String[] columnNames = finderPath.getColumnNames();
if ((columnNames == null) || (columnNames.length == 0)) {
if (baseModel.isNew()) {
return new Object[0];
}
return null;
}
FriendlyURLEntryMappingModelImpl friendlyURLEntryMappingModelImpl =
(FriendlyURLEntryMappingModelImpl)baseModel;
long columnBitmask =
friendlyURLEntryMappingModelImpl.getColumnBitmask();
if (!checkColumn || (columnBitmask == 0)) {
return _getValue(
friendlyURLEntryMappingModelImpl, columnNames, original);
}
Long finderPathColumnBitmask = _finderPathColumnBitmasksCache.get(
finderPath);
if (finderPathColumnBitmask == null) {
finderPathColumnBitmask = 0L;
for (String columnName : columnNames) {
finderPathColumnBitmask |=
friendlyURLEntryMappingModelImpl.getColumnBitmask(
columnName);
}
_finderPathColumnBitmasksCache.put(
finderPath, finderPathColumnBitmask);
}
if ((columnBitmask & finderPathColumnBitmask) != 0) {
return _getValue(
friendlyURLEntryMappingModelImpl, columnNames, original);
}
return null;
}
@Override
public String getClassName() {
return FriendlyURLEntryMappingImpl.class.getName();
}
@Override
public String getTableName() {
return FriendlyURLEntryMappingTable.INSTANCE.getTableName();
}
private static Object[] _getValue(
FriendlyURLEntryMappingModelImpl friendlyURLEntryMappingModelImpl,
String[] columnNames, boolean original) {
Object[] arguments = new Object[columnNames.length];
for (int i = 0; i < arguments.length; i++) {
String columnName = columnNames[i];
if (original) {
arguments[i] =
friendlyURLEntryMappingModelImpl.getColumnOriginalValue(
columnName);
}
else {
arguments[i] = friendlyURLEntryMappingModelImpl.getColumnValue(
columnName);
}
}
return arguments;
}
private static final Map _finderPathColumnBitmasksCache =
new ConcurrentHashMap<>();
}