001
014
015 package com.liferay.portlet.asset.model.impl;
016
017 import com.liferay.portal.kernel.util.ArrayUtil;
018 import com.liferay.portal.kernel.util.GetterUtil;
019 import com.liferay.portal.kernel.util.StringUtil;
020 import com.liferay.portal.kernel.util.UnicodeProperties;
021 import com.liferay.portal.kernel.util.Validator;
022
023
027 public class AssetVocabularyImpl extends AssetVocabularyBaseImpl {
028
029 public AssetVocabularyImpl() {
030 }
031
032 @Override
033 public String getSettings() {
034 if (_settingsProperties == null) {
035 return super.getSettings();
036 }
037 else {
038 return _settingsProperties.toString();
039 }
040 }
041
042 public UnicodeProperties getSettingsProperties() {
043 if (_settingsProperties == null) {
044 _settingsProperties = new UnicodeProperties(true);
045
046 _settingsProperties.fastLoad(super.getSettings());
047 }
048
049 return _settingsProperties;
050 }
051
052 @Override
053 public String getTitle(String languageId) {
054 String value = super.getTitle(languageId);
055
056 if (Validator.isNull(value)) {
057 value = getName();
058 }
059
060 return value;
061 }
062
063 @Override
064 public String getTitle(String languageId, boolean useDefault) {
065 String value = super.getTitle(languageId, useDefault);
066
067 if (Validator.isNull(value)) {
068 value = getName();
069 }
070
071 return value;
072 }
073
074 public boolean isMultiValued() {
075 if (Validator.isNull(_settingsProperties)) {
076 _settingsProperties = getSettingsProperties();
077 }
078
079 return GetterUtil.getBoolean(
080 _settingsProperties.getProperty("multiValued"), true);
081 }
082
083 public boolean isRequired(long classNameId) {
084 if (Validator.isNull(_settingsProperties)) {
085 _settingsProperties = getSettingsProperties();
086 }
087
088 long[] requiredClassNameIds = StringUtil.split(
089 _settingsProperties.getProperty("requiredClassNameIds"), 0L);
090
091 return ArrayUtil.contains(requiredClassNameIds, classNameId);
092 }
093
094 @Override
095 public void setSettings(String settings) {
096 _settingsProperties = null;
097
098 super.setSettings(settings);
099 }
100
101 public void setSettingsProperties(UnicodeProperties settingsProperties) {
102 _settingsProperties = settingsProperties;
103
104 super.setSettings(settingsProperties.toString());
105 }
106
107 private UnicodeProperties _settingsProperties;
108
109 }