/*
* (c) Copyright 2010-2011 AgileBirds
*
* This file is part of OpenFlexo.
*
* OpenFlexo 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.
*
* OpenFlexo 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 OpenFlexo. If not, see <http://www.gnu.org/licenses/>.
*
*/
package org.openflexo.foundation.stats;
import org.openflexo.foundation.FlexoModelObject;
import org.openflexo.foundation.FlexoObservable;
import org.openflexo.localization.FlexoLocalization;
/**
* @author gpolet
*
*/
public abstract class FlexoStatistics<T extends FlexoModelObject> extends FlexoObservable {
private T object;
private boolean includeBeginEndNode = false;
/**
*
*/
public FlexoStatistics(T object) {
super();
this.object = object;
refresh();
}
@Override
public String getDeletedProperty() {
// TODO Auto-generated method stub
return null;
}
public T getObject() {
return object;
}
public String getInfoLabel() {
return "<html><body>" + FlexoLocalization.localizedForKey("use_the_refresh_button_to_update_the") + "<br>" + getLocalizedName()
+ "</body></html>";
}
public String getLocalizedName() {
return FlexoLocalization.localizedForKey("statistics_of") + " " + FlexoLocalization.localizedForKey(getObject().getClassNameKey());
}
public abstract void refresh();
public boolean getIncludeBeginEndNode() {
return includeBeginEndNode;
}
public void setIncludeBeginEndNode(boolean includeBeginEndNode) {
this.includeBeginEndNode = includeBeginEndNode;
setChanged();
notifyObservers(new StatModification("includeBeginEndNode", !includeBeginEndNode, includeBeginEndNode));
}
}