/*
* #%L
* gitools-ui-app
* %%
* Copyright (C) 2013 Universitat Pompeu Fabra - Biomedical Genomics group
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program. If not, see
* <http://www.gnu.org/licenses/gpl-3.0.html>.
* #L%
*/
package org.gitools.heatmap.decorator;
import java.awt.*;
import java.io.Serializable;
/**
* The type Property item.
*/
public class DetailsDecoration extends Decoration implements Serializable {
private final String name;
private final String description;
private final String descriptionLink;
private final String valueLink;
private Object reference;
private int index;
private boolean selected = false;
private boolean visible;
/**
* Instantiates a new Property item.
*
* @param name the name
* @param value the value
*/
public DetailsDecoration(String name, String value) {
this(name, null, value);
}
/**
* Instantiates a new Property item.
*
* @param name the name
* @param description the description
* @param value the value
*/
public DetailsDecoration(String name, String description, String value) {
this(name, description, null, value, null);
}
/**
* Instantiates a new Property item.
*
* @param name the name
* @param description the description
* @param value the value
* @param valueLink the value link
*/
public DetailsDecoration(String name, String description, String descriptionLink, String value, String valueLink) {
super(value, Color.WHITE);
this.description = description;
this.descriptionLink = descriptionLink;
this.name = name;
this.valueLink = valueLink;
this.visible = true;
}
/**
* Gets description.
*
* @return the description
*/
public String getDescription() {
return description;
}
/**
* Gets name.
*
* @return the name
*/
public String getName() {
return name;
}
/**
* Gets value link.
*
* @return the link
*/
public String getValueLink() {
String value = getValue();
if (valueLink == null || value == null) {
return null;
}
return valueLink.replace("${value}", value);
}
/**
* Gets description link.
*
* @return the description link
*/
public String getDescriptionLink() {
return descriptionLink;
}
/**
* Is the current top layer selection.
*
* @return the boolean
*/
public boolean isSelected() {
return selected;
}
public void setSelected(boolean selected) {
this.selected = selected;
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
public Object getReference() {
return reference;
}
public void setReference(Object reference) {
this.reference = reference;
}
public void setVisible(boolean visible) {
this.visible = visible;
}
public boolean isVisible() {
return visible;
}
}