litesoft
@ 939
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
// This Source Code is in the Public Domain per: http://litesoft.org/License.txt package org.litesoft.orsup.base; import org.litesoft.commonfoundation.typeutils.*; import java.util.*; import org.litesoft.commonfoundation.typeutils.Objects; import org.litesoft.orsup.selection.*; import org.litesoft.orsup.transact.*; public interface MetaDataForPO<T extends PersistentObject> extends SimpleFromIdentifier, Comparable<MetaDataForPO> { public MetaDataStore getMetaDataStore(); public String getDisplayValueFormat(); /** * Reference POs are maintained in memory to minimize the DB reads */ public boolean isReferencePO(); public boolean isORMetaDataMutating(); public boolean isImportable(); public boolean isPotentiallyImmortallyInActive(); public Mortality getMortality(); public String getImmortalInactiveAttributeName(); public String getInstanceImmortalImmortalAttributeName(); public boolean isUpdatable(); public String getInstanceManagedUpdatabilityLockedAttributeName(); public boolean isCreationTimestampable(); public String getCreationTimestampAttributeName(); public boolean isTransactionTimestampable(); public String getTransactionTimestampAttributeName(); public boolean isRecordVersionable(); public String getRecordVersionAttributeName(); public boolean isSnagable(); public String getSnagAttributeName(); public String getDefaultOrderByAttributeName(); public String getPOregistrationName(); public T createNew( Transaction pTransaction ); /** * a gift to the Groovy world, allows new objects to be initialized via named parameters */ public T createNew( Map<String, ?> pInitialAttributeNameValues, Transaction pTransaction ); public AttributeAccessorSCD getAccessorSCDrequired( String pAttributeName ); public AttributeAccessorSCD getAccessorSCDoptional( String pAttributeName ); public boolean hasAttribute( String pAttributeName ); /** * @return A (!Null) array of all the attribute names available for this PO type */ public String[] getAttributeNames(); /** * @return A (!Null) array of all the AttributeAccessorSCD available for this PO type */ public AttributeAccessorSCD[] getAccessorSCDs(); public AttributeAccessorSCD[] getPersistingAccessorSCDs(); public AttributeAccessorKeySet getKeySet(); public PersistentObjectUniqueKey createUniqueKeyFrom( String pKeyToString ) throws IllegalArgumentException; public Index[] getIndexes(); public Class getPOclass(); public static class Index { public static final Index[] EMPTY_ARRAY = new Index[0]; private String mIndexName; private String mCreationParameters; private boolean mUnique; private String[] mColumns; public Index( String pIndexName, String pCreationParameters, boolean pUnique, SimpleColumnDefinition... pColumns ) { mIndexName = Strings.assertNotNullNotEmpty( "IndexName", pIndexName ); mCreationParameters = Strings.deNull( pCreationParameters ).trim(); mUnique = pUnique; Objects.assertNotNullNotEmpty( "Columns", pColumns ); mColumns = new String[pColumns.length]; for ( int i = 0; i < pColumns.length; i++ ) { mColumns[i] = pColumns[i].getSearchColumnName(); } } public String getIndexName() { return mIndexName; } public String getCreationParameters() { return mCreationParameters; } public boolean isUnique() { return mUnique; } public String[] getColumns() { return mColumns; } } } |
Commits for litesoft/trunk/Java/core/Server/src/org/litesoft/orsup/base/MetaDataForPO.java
Revision | Author | Commited | Message |
---|---|---|---|
939 Diff | GeorgeS | Mon 02 Jun, 2014 21:30:31 +0000 | Extracting commonfoundation |
917 Diff | GeorgeS | Sun 08 Dec, 2013 20:49:56 +0000 | 1.7 prep & VersionedStaticContentFilter upgrade to new “/ver” model! |
821 Diff | GeorgeS | Sun 19 Aug, 2012 00:08:41 +0000 | |
809 Diff | GeorgeS | Thu 16 Aug, 2012 04:10:46 +0000 | |
802 Diff | GeorgeS | Wed 15 Aug, 2012 04:04:47 +0000 | |
222 Diff | GeorgeS | Fri 20 May, 2011 18:04:31 +0000 | |
151 Diff | GeorgeS | Thu 17 Mar, 2011 04:16:22 +0000 | |
49 Diff | GeorgeS | Mon 12 Apr, 2010 02:59:10 +0000 | License Text |
2 | GeorgeS | Sun 07 Feb, 2010 12:50:58 +0000 |