Mercurial > dive4elements > framework
view artifact-database/src/main/java/de/intevation/artifactdatabase/state/FacetActivity.java @ 403:bd76529d612b
FacetActivity: Added interface and registry to decide if a facet should initially active or not.
artifacts/trunk@5150 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Sun, 29 Jul 2012 09:37:55 +0000 |
parents | |
children | 4c78c5d2b367 |
line wrap: on
line source
package de.intevation.artifactdatabase.state; import de.intevation.artifacts.Artifact; import java.util.HashMap; import java.util.Map; public interface FacetActivity { public static final FacetActivity ACTIVE = new FacetActivity() { @Override public boolean isInitialActive( Artifact artifact, Facet facet, String output ) { return true; } }; public static final FacetActivity INACTIVE = new FacetActivity() { @Override public boolean isInitialActive( Artifact artifact, Facet facet, String output ) { return false; } }; boolean isInitialActive(Artifact artifact, Facet facet, String output); public static final class Registry { private static final Registry INSTANCE = new Registry(); private Map<String, FacetActivity> activities; private Registry() { activities = new HashMap<String, FacetActivity>(); } public Registry getInstance() { return INSTANCE; } public synchronized FacetActivity getActivity(String key) { FacetActivity activity = activities.get(key); return activity != null ? activity : ACTIVE; } public synchronized void register(String key, FacetActivity activity) { activities.put(key, activity); } } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :