package org.odata4j.edm; import org.odata4j.core.ImmutableList; import org.odata4j.core.Named; /** Shared base class for {@link EdmProperty} and {@link EdmNavigationProperty} */ public abstract class EdmPropertyBase extends EdmItem implements Named { private final String name; protected EdmPropertyBase(EdmDocumentation documentation, ImmutableList<EdmAnnotation<?>> annotations, ImmutableList<EdmAnnotation<?>> annotationElements, String name) { super(documentation, annotations, annotationElements); this.name = name; } public String getName() { return name; } /** Mutable builder for {@link EdmPropertyBase} objects. */ public abstract static class Builder<T, TBuilder> extends EdmItem.Builder<T, TBuilder> implements Named { private String name; Builder(String name) { this.name = name; } @Override public String getName() { return name; } @SuppressWarnings("unchecked") public TBuilder setName(String name) { this.name = name; return (TBuilder) this; } } }