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

jpos.profile.DefaultPropInfo Maven / Gradle / Ivy

There is a newer version: 4.0.0
Show newest version
package jpos.profile;

///////////////////////////////////////////////////////////////////////////////
//
// This software is provided "AS IS".  The JavaPOS working group (including
// each of the Corporate members, contributors and individuals)  MAKES NO
// REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE SOFTWARE,
// EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED 
// WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
// NON-INFRINGEMENT. The JavaPOS working group shall not be liable for
// any damages suffered as a result of using, modifying or distributing this
// software or its derivatives. Permission to use, copy, modify, and distribute
// the software and its documentation for any purpose is hereby granted. 
//
// The JavaPOS Config/Loader (aka JCL) is now under the CPL license, which 
// is an OSS Apache-like license.  The complete license is located at:
//    http://www.ibm.com/developerworks/library/os-cpl.html
//
///////////////////////////////////////////////////////////////////////////////

import java.io.Serializable;

/**
 * Default implementation of the PropInfo interface
 * @since 1.3 (SF 2K meeting)
 * @author E. Michael Maximilien ([email protected])
 */
class DefaultPropInfo extends Object implements PropInfo, Serializable
{
	//-------------------------------------------------------------------------
	// Ctor(s)
	//

	/**
	 * Creates a PropInfo with name and profile passed
	 * @param name the PropInfo name
	 * @param profile the Profile for this PropInfo
	 */
	public DefaultPropInfo( String name, Profile profile )
	{
		this.name = name;
		this.profile = profile;
	}
							
	//-------------------------------------------------------------------------
	// Public methods
	//

	/** @return the Profile associated with this PropInfo */
	public Profile getProfile() { return profile; }

	/** @return the name of this property (MUST be unique per profile) */
	public String getName() { return name; }

	/** @return the type of this property */
	public PropType getType() { return type; }

	/** @return the default value for this property */
	public PropValue getDefaultValue() { return defaultValue; }

	/** @return the list of possible values for this property */
	public PropValueList getValues() { return values; }

	/** @return the DevCat that this property can be applied to */
	public DevCat getDevCat() { return devCat; }

	/** @return the PropInfoViewer for this property */
	public PropInfoViewer getViewer() { return viewer; }

	/** @return a description of this PropInfo (this can be HTML formated) */
	public String getDescription() { return description; }

	/** @return a short description of this PropInfo (this can be HTML formated) */
	public String getShortDescription() { return shortDescription; }

	//-------------------------------------------------------------------------
	// Package setter methods
	//

	/**
	 * Sets the type of this property 
	 * @param type the PropType
	 */
	void setType( PropType type ) { this.type = type; }

	/**
	 * Sets the default value for this property
	 * @param propValue the PropValue
	 */
	void setDefaultValue( PropValue value ) { defaultValue = value; }

	/** 
	 * Sets the DevCat that this property can be applied to 
	 * @param devCat the DevCat
	 */
	void setDevCat( DevCat devCat ) { this.devCat = devCat; }

	/**
	 * Sets the PropInfoViewer for this property 
	 * @param viewer the PropInfoViewer
	 */
	void setViewer( PropInfoViewer viewer ) { this.viewer = viewer; }

	/**
	 * Sets the description of this PropInfo (this can be HTML formated) 
	 * @param s the String
	 */
	void setDescription( String s ) { description = s; } 

	/**
	 * Sets a short description of this PropInfo used as TootipText (this can be HTML formated)
	 * @param s the String
	 */
	void setShortDescription( String s ) { shortDescription = s; }

	//-------------------------------------------------------------------------
	// Instance variables
	//

	private Profile profile = null;
	private String name = "";
	private PropType type = null;
	private PropValue defaultValue = null;
	private PropValueList values = new DefaultPropValueList();
	private DevCat devCat = null;
	private PropInfoViewer viewer = null;
	private String description = "";
	private String shortDescription = "";
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy