All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.beigesoft.settings.holder.HldFieldsSettings Maven / Gradle / Ivy

package org.beigesoft.settings.holder;

/*
 * Copyright (c) 2017 Beigesoft ™
 *
 * Licensed under the GNU General Public License (GPL), Version 2.0
 * (the "License");
 * you may not use this file except in compliance with the License.
 *
 * You may obtain a copy of the License at
 *
 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
 */

import org.beigesoft.holder.IHolderForClassByName;
import org.beigesoft.settings.IMngSettings;

/**
 * 

Delegate that get field setting from Beige-Settings, * e.g. converter's to/from string name.

* * @author Yury Demidenko */ public class HldFieldsSettings implements IHolderForClassByName { /** *

Manager settings.

**/ private IMngSettings mngSettings; /** *

Setting name.

**/ private final String settingName; /** *

Only constructor.

* @param pSettingName reference **/ public HldFieldsSettings(final String pSettingName) { this.settingName = pSettingName; } /** *

Get thing for given class and field name.

* @param pClass a Class * @param pFieldName Field Name * @return a thing **/ @Override public final String getFor(final Class pClass, final String pFieldName) { String result; try { result = this.mngSettings.getFieldsSettings().get(pClass).get(pFieldName) .get(this.settingName); } catch (Exception e) { throw new RuntimeException( "Can't get class/field/setting: " + pClass + "/" + pFieldName + "/" + this.settingName); } return result; } /** *

Set thing for given class and field name.

* @param pThing Thing * @param pClass Class * @param pFieldName Field Name **/ @Override public final void setFor(final String pThing, final Class pClass, final String pFieldName) { this.mngSettings.getFieldsSettings().get(pClass).get(pFieldName) .put(this.settingName, pThing); } //Simple getters and setters: /** *

Getter for mngSettings.

* @return IMngSettings **/ public final IMngSettings getMngSettings() { return this.mngSettings; } /** *

Setter for mngSettings.

* @param pMngSettings reference **/ public final void setMngSettings(final IMngSettings pMngSettings) { this.mngSettings = pMngSettings; } /** *

Getter for settingName.

* @return String **/ public final String getSettingName() { return this.settingName; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy