1 /* 2 * Copyright (c) 1998-2006 Caucho Technology -- all rights reserved 3 * 4 * This file is part of Resin(R) Open Source 5 * 6 * Each copy or derived work must preserve the copyright notice and this 7 * notice unmodified. 8 * 9 * Resin Open Source is free software; you can redistribute it and/or modify 10 * it under the terms of the GNU General Public License as published by 11 * the Free Software Foundation; either version 2 of the License, or 12 * (at your option) any later version. 13 * 14 * Resin Open Source is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, or any warranty 17 * of NON-INFRINGEMENT. See the GNU General Public License for more 18 * details. 19 * 20 * You should have received a copy of the GNU General Public License 21 * along with Resin Open Source; if not, write to the 22 * 23 * Free Software Foundation, Inc. 24 * 59 Temple Place, Suite 330 25 * Boston, MA 02111-1307 USA 26 * 27 * @author Scott Ferguson 28 */ 29 package javax.jcr.nodetype; 30 31 /** 32 * Definition for types of items. 33 */ 34 public interface ItemDefinition { 35 /** 36 * Returns the declaring node type. 37 */ 38 NodeType getDeclaringNodeType(); 39 40 /** 41 * Returns the item definition name. 42 */ 43 String getName(); 44 45 /** 46 * Returns true if this item is automatically created by the 47 * repository. 48 */ 49 boolean isAutoCreated(); 50 51 /** 52 * Returns true if this item always exists. 53 */ 54 boolean isMandatory(); 55 56 /** 57 * Returns the action when the parent is versioned. 58 */ 59 int getOnParentVersion(); 60 61 /** 62 * Returns true for a read-only item. 63 */ 64 boolean isProtected(); 65 } 66