// // ======================================================================== // Copyright (c) 1995-2017 Mort Bay Consulting Pty. Ltd. // ------------------------------------------------------------------------ // All rights reserved. This program and the accompanying materials // are made available under the terms of the Eclipse Public License v1.0 // and Apache License v2.0 which accompanies this distribution. // // The Eclipse Public License is available at // http://www.eclipse.org/legal/epl-v10.html // // The Apache License v2.0 is available at // http://www.opensource.org/licenses/apache2.0.php // // You may elect to redistribute this code under either of these licenses. // ======================================================================== // package org.eclipse.jetty.cdi.websocket.wsscope; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import org.eclipse.jetty.cdi.websocket.annotation.WebSocketScope; @WebSocketScope public class Food { private boolean constructed = false; private boolean destroyed = false; private String name; public Food() { // default constructor (for CDI use) } public Food(String name) { this.name = name; } @PreDestroy void destroy() { destroyed = true; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } Food other = (Food)obj; if (name == null) { if (other.name != null) { return false; } } else if (!name.equals(other.name)) { return false; } return true; } public String getName() { return name; } @Override public int hashCode() { final int prime = 31; int result = 1; result = (prime * result) + ((name == null) ? 0 : name.hashCode()); return result; } @PostConstruct void init() { constructed = true; } public boolean isConstructed() { return constructed; } public boolean isDestroyed() { return destroyed; } public void setName(String name) { this.name = name; } @Override public String toString() { return String.format("%s@%X[%s]",Food.class.getSimpleName(),hashCode(),name); } }