blob: 94836edd7d0ef2fbf2c3610fc7d3ac795b6e4c34 [file] [log] [blame]
//
// ========================================================================
// Copyright (c) 1995-2016 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);
}
}