/* * Copyright: Almende B.V. (2014), Rotterdam, The Netherlands * License: The Apache Software License, Version 2.0 */ package com.almende.eve.capabilities.handler; import java.util.logging.Logger; import com.fasterxml.jackson.annotation.JsonIgnore; /** * The Class SimpleHandler. * * @param <T> * the generic type */ public class SimpleHandler<T> implements Handler<T> { private static final Logger LOG = Logger.getLogger(SimpleHandler.class .getName()); private T referent = null; /** * Instantiates a new simple handler. * * @param referent * the referent */ public SimpleHandler(final T referent) { this.referent = referent; } /* * (non-Javadoc) * @see com.almende.eve.capabilities.handler.Handler#get() */ @Override @JsonIgnore public T get() { return referent; } /* * (non-Javadoc) * @see com.almende.eve.capabilities.handler.Handler#getNoWait() */ @Override @JsonIgnore public T getNoWait() { return referent; } /* * (non-Javadoc) * @see com.almende.eve.capabilities.handler.Handler#update(com.almende.eve. * capabilities.handler.Handler) */ @Override public void update(final Handler<T> newHandler) { if (!this.referent.equals(newHandler.get())) { LOG.warning("Updating a Simplehandler with another referent, which is unlikely to be correct, please check your config for cross-agent reuse of capabilities."); } this.referent = newHandler.get(); } /* * (non-Javadoc) * @see com.almende.eve.capabilities.handler.Handler#getKey() */ @Override public String getKey() { return null; } }