Subversion Repository Public Repository

litesoft

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
// This Source Code is in the Public Domain per: http://litesoft.org/License.txt
package org.litesoft.orsup.base;

import java.util.*;

import org.litesoft.core.typeutils.*;
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

Diff revisions: vs.
Revision Author Commited Message
821 Diff Diff GeorgeS picture GeorgeS Sun 19 Aug, 2012 00:08:41 +0000
809 Diff Diff GeorgeS picture GeorgeS Thu 16 Aug, 2012 04:10:46 +0000
802 Diff Diff GeorgeS picture GeorgeS Wed 15 Aug, 2012 04:04:47 +0000
222 Diff Diff GeorgeS picture GeorgeS Fri 20 May, 2011 18:04:31 +0000
151 Diff Diff GeorgeS picture GeorgeS Thu 17 Mar, 2011 04:16:22 +0000
49 Diff Diff GeorgeS picture GeorgeS Mon 12 Apr, 2010 02:59:10 +0000

License Text

2 GeorgeS picture GeorgeS Sun 07 Feb, 2010 12:50:58 +0000