blob: 432c820fa74e5f93f7b8b0a998afdc6768e7ddc1 [file] [log] [blame]
/******************************************************************************
* Copyright (c) 2004, 2005 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
****************************************************************************/
package org.eclipse.gmf.runtime.common.ui.dialogs;
import java.util.ArrayList;
import java.util.List;
/**
* Show Related Elements Preset
*
* @author Wayne Diu, wdiu
*/
public class ShowRelatedElementsPreset {
/**
* True if it's a default query, false if it's user defined
*/
protected boolean isDefault;
/**
* Name
*/
protected String name;
/**
* Identifier
*/
protected String id;
/**
* List of IDs
*/
protected List ids = new ArrayList();
/**
* Optional custom data
*/
protected Object custom;
/**
* See ExpansionType enumeration for values
*/
protected int expansionType;
/**
* Levels of expansion, -1 means expand indefinitely
*/
protected int levels;
/**
* Optional layout type to use for this preset if functionality is
* available.
*/
protected Object layoutType;
/**
* Return true if it's the default query, false otherwise.
*
* @return true if it's the default query, false otherwise.
*/
public boolean isDefault() {
return isDefault;
}
/**
* Return this preset's name
*
* @return String name
*/
public String getName() {
return name;
}
/**
* Set this preset's name
*
* @param newName
* String name
*/
public void setName(String newName) {
name = newName;
}
/**
* Retrieves the serializable non-language specific id of the preset.
*
* @return The identifier for the preset.
*/
public String getId() {
return id;
}
/**
* Return custom data for this preset, which may be null
*
* @return custom data
*/
public Object getCustom() {
return custom;
}
/**
* Set custom data
*
* @param newCustom
* String with custom data
*/
public void setCustom(Object newCustom) {
this.custom = newCustom;
}
/**
* Return List of serializable String ids
*
* @return List of serializable String ids
*/
public List getIds() {
return ids;
}
/**
* Add an id to the ID List
*
* @param aID
* String id to add to the ID List
*/
public void addId(String aID) {
ids.add(aID);
}
/**
* Add a List of String ids to the ID List
*
* @param idList
* List of String ids to add to the ID List
*/
public void addIds(List idList) {
ids.addAll(idList);
}
/**
* Return the int number of levels to expand, -1 means to expand
* indefinitely.
*
* @return int number of levels to expand. -1 means to expand indefinitely.
*/
public int getLevels() {
return levels;
}
/**
* Return the expansion type ordinal. See ExpansionType for more information
*
* @return the expansion type ordinal.
*/
public int getExpansionType() {
return expansionType;
}
/**
* Return the optional layout type.
*
* @return A layout type or (null) if none set.
*/
public Object getLayoutType() {
return layoutType;
}
/**
* Set the optional layout type.
*
* @param type
* A layout type or (null) for unset.
*/
public void setLayoutType(Object type) {
this.layoutType = type;
}
/**
* Constructor.
*
* @param newName
* name of preset
* @param newDefault
* true it's a hardcoded query, false if it's a user defined
* query
* @param newType
* expansion type. See ExpansionType.
* @param newLevels
* number of levels to expand, -1 for indefinite.
*/
public ShowRelatedElementsPreset(String newName, boolean newDefault,
int newType, int newLevels) {
name = newName;
isDefault = newDefault;
expansionType = newType;
levels = newLevels;
this.id = newName;
}
/**
* Constructor that allows for serialization of the preset.
*
* @param newName
* name of preset
* @param newID
* serializable and non-language specific identifier for the
* preset
* @param newDefault
* true it's a hardcoded query, false if it's a user defined
* query
* @param newType
* expansion type. See ExpansionType.
* @param newLevels
* number of levels to expand, -1 for indefinite.
*/
public ShowRelatedElementsPreset(String newName, String newID,
boolean newDefault, int newType, int newLevels) {
name = newName;
isDefault = newDefault;
expansionType = newType;
levels = newLevels;
this.id = newID;
}
/**
* Constructor.
*
* @param newName
* name of preset
* @param newDefault
* true it's a hardcoded query, false if it's a user defined
* query
* @param newType
* expansion type. See ExpansionType.
* @param newLevels
* number of levels to expand, -1 for indefinite.
* @param idList
* list of IDs
* @param newCustom
* custom String data.
*/
public ShowRelatedElementsPreset(String newName, boolean newDefault,
int newType, int newLevels, List idList, Object newCustom) {
this(newName, newDefault, newType, newLevels);
ids = idList;
custom = newCustom;
}
/**
* Constructor that allows for serialization of the preset.
*
* @param newName
* name of preset
* @param newID
* serializable and non-language specific identifier for the
* preset
* @param newDefault
* true it's a hardcoded query, false if it's a user defined
* query
* @param newType
* expansion type. See ExpansionType.
* @param newLevels
* number of levels to expand, -1 for indefinite.
* @param idList
* list of IDs
* @param newCustom
* custom String data.
*/
public ShowRelatedElementsPreset(String newName, String newID,
boolean newDefault, int newType, int newLevels, List idList,
Object newCustom) {
this(newName, newID, newDefault, newType, newLevels);
ids = idList;
custom = newCustom;
}
}