org.eclipse.xtend.lib.Data Maven / Gradle / Ivy
/*******************************************************************************
* Copyright (c) 2013 itemis AG (http://www.itemis.eu) and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*******************************************************************************/
package org.eclipse.xtend.lib;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import com.google.common.annotations.GwtCompatible;
/**
* This annotation is used by the Xtend compiler.
* It turns an annotated class into an immutable value object.
*
* All fields become final and a getter method is added.
* The fields' name are prepended with an underscore (i.e. myField becomes _myField)
* One constructor for initializing the uninitialized fields is added.
* {@link Object#equals(Object)} and {@link Object#hashCode()} implementations are added.
* {@link Object#toString()} implementation is added.
*
* @author Sven Efftinge
*/
@GwtCompatible
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface Data {
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy