All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.hilling.lang.metamodel.testing.Person__Metamodel Maven / Gradle / Ivy

The newest version!
package de.hilling.lang.metamodel.testing;

import de.hilling.lang.metamodel.Attribute;
import de.hilling.lang.metamodel.MutableAttribute;
import de.hilling.lang.metamodel.MutableAttributeImplementation;
import java.lang.Override;
import java.lang.String;
import java.time.LocalDate;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;

public abstract class Person__Metamodel {
    private static final List ATTRIBUTES;

    public static final MutableAttribute lastName;

    public static final MutableAttribute firstName;

    public static final MutableAttribute birthDate;

    static {
        lastName = new MutableAttributeImplementation("lastName", Person.class, String.class) {
            @Override
            public String readAttribute(Person object) {
                return object.getLastName();
            }

            @Override
            public void writeAttribute(Person object, String value) {
                object.setLastName(value);
            }
        };
        firstName = new MutableAttributeImplementation("firstName", Person.class, String.class) {
            @Override
            public String readAttribute(Person object) {
                return object.getFirstName();
            }

            @Override
            public void writeAttribute(Person object, String value) {
                object.setFirstName(value);
            }
        };
        birthDate = new MutableAttributeImplementation("birthDate", Person.class, LocalDate.class) {
            @Override
            public LocalDate readAttribute(Person object) {
                return object.getBirthDate();
            }

            @Override
            public void writeAttribute(Person object, LocalDate value) {
                object.setBirthDate(value);
            }
        };
        List attributesList = new LinkedList<>();
        attributesList.add(firstName);
        attributesList.add(lastName);
        attributesList.add(birthDate);
        ATTRIBUTES = Collections.unmodifiableList(attributesList);
    }

    public static List attributes() {
        return ATTRIBUTES;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy