1 /* 2 * (c) Copyright 2006-2020 by rapiddweller GmbH & Volker Bergmann. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, is permitted under the terms of the 6 * GNU General Public License. 7 * 8 * For redistributing this software or a derivative work under a license other 9 * than the GPL-compatible Free Software License as defined by the Free 10 * Software Foundation or approved by OSI, you must first obtain a commercial 11 * license to this software product from rapiddweller GmbH & Volker Bergmann. 12 * 13 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 14 * WITHOUT A WARRANTY OF ANY KIND. ALL EXPRESS OR IMPLIED CONDITIONS, 15 * REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF 16 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE 17 * HEREBY EXCLUDED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 18 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 19 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 20 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 21 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 22 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 23 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 24 * POSSIBILITY OF SUCH DAMAGE. 25 */ 26 27 package com.rapiddweller.model.data; 28 29 /** 30 * The type Id descriptor. 31 */ 32 public class IdDescriptor extends ComponentDescriptor { 33 34 /** 35 * Instantiates a new Id descriptor. 36 * 37 * @param name the name 38 * @param provider the provider 39 */ 40 public IdDescriptor(String name, DescriptorProvider provider) { 41 this(name, provider, (String) null); 42 } 43 44 /** 45 * Instantiates a new Id descriptor. 46 * 47 * @param name the name 48 * @param provider the provider 49 * @param type the type 50 */ 51 public IdDescriptor(String name, DescriptorProvider provider, String type) { 52 super(name, provider, type); 53 } 54 55 /** 56 * Instantiates a new Id descriptor. 57 * 58 * @param name the name 59 * @param provider the provider 60 * @param type the type 61 */ 62 public IdDescriptor(String name, DescriptorProvider provider, 63 TypeDescriptor type) { 64 super(name, provider, type); 65 } 66 67 @Override 68 public Uniqueness getUniqueness() { 69 return Uniqueness.ORDERED; 70 } 71 72 @Override 73 public Boolean isUnique() { 74 return true; 75 } 76 77 }