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

org.odata4j.edm.EdmAssociationSet Maven / Gradle / Ivy

The newest version!
package org.odata4j.edm;

import org.odata4j.core.ImmutableList;

/**
 * A CSDL AnnotationSet element.
 *
 * 

The AssociationSet element in conceptual schema definition language (CSDL) is a logical container for * association instances of the same type. An association set provides a definition for grouping association * instances so that they can be mapped to a data source. * * @see [msdn] AnnotationSet Element (CSDL) */ public class EdmAssociationSet extends EdmItem { private final String name; private final EdmAssociation association; private final EdmAssociationSetEnd end1; private final EdmAssociationSetEnd end2; private EdmAssociationSet(String name, EdmAssociation association, EdmAssociationSetEnd end1, EdmAssociationSetEnd end2, EdmDocumentation doc, ImmutableList> annots) { super(doc, annots); this.name = name; this.association = association; this.end1 = end1; this.end2 = end2; } public String getName() { return name; } public EdmAssociation getAssociation() { return association; } public EdmAssociationSetEnd getEnd1() { return end1; } public EdmAssociationSetEnd getEnd2() { return end2; } public static Builder newBuilder() { return new Builder(); } static Builder newBuilder(EdmAssociationSet associationSet, BuilderContext context) { return context.newBuilder(associationSet, new Builder()); } /** Mutable builder for {@link EdmAssociationSet} objects. */ public static class Builder extends EdmItem.Builder { private String name; private EdmAssociation.Builder association; private String associationName; private EdmAssociationSetEnd.Builder end1; private EdmAssociationSetEnd.Builder end2; @Override Builder newBuilder(EdmAssociationSet associationSet, BuilderContext context) { this.name = associationSet.name; this.association = EdmAssociation.newBuilder(associationSet.association, context); this.end1 = EdmAssociationSetEnd.newBuilder(associationSet.end1, context); this.end2 = EdmAssociationSetEnd.newBuilder(associationSet.end2, context); return this; } public EdmAssociationSet build() { return new EdmAssociationSet(name, association.build(), end1.build(), end2.build(), getDocumentation(), ImmutableList.copyOf(getAnnotations())); } public String getAssociationName() { return associationName; } public EdmAssociationSetEnd.Builder getEnd1() { return end1; } public EdmAssociationSetEnd.Builder getEnd2() { return end2; } public Builder setName(String name) { this.name = name; return this; } public Builder setAssociationName(String associationName) { this.associationName = associationName; return this; } public Builder setAssociation(EdmAssociation.Builder association) { this.association = association; return this; } public Builder setEnds(EdmAssociationSetEnd.Builder end1, EdmAssociationSetEnd.Builder end2) { this.end1 = end1; this.end2 = end2; return this; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy