litesoft
@ 809
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 137 |
// This Source Code is in the Public Domain per: http://litesoft.org/License.txt package org.litesoft.orsup.base; import java.io.*; import org.litesoft.core.typeutils.*; /** * This class is a serializable, long-lived reference to a persistent object * <p/> * Other @ tags here... */ public class ObjectHandle implements Serializable, Comparable<ObjectHandle> { static final long serialVersionUID = -112473324534691343L; public static final ObjectHandle[] EMPTY_ARRAY = new ObjectHandle[0]; public static final char HANDLE_SEPARATOR = '\n'; private PersistentObjectURL mPersistentObjectURL; private String mDisplayValue; public ObjectHandle( PersistentObjectURL pPersistentObjectURL, String pDisplayValue ) { Objects.assertNotNull( "PersistentObjectURL", mPersistentObjectURL = pPersistentObjectURL ); mDisplayValue = Strings.noEmpty( pDisplayValue ); } public ObjectHandle( PersistentObjectURL pPersistentObjectURL ) { this( pPersistentObjectURL, null ); } protected boolean isDisplayValue() { return (mDisplayValue != null); } public PersistentObjectURL getPersistentObjectURL() { return mPersistentObjectURL; } /** * Print the handle with ID information * * @return Description of the Returned Value */ public String printHandle() { String base = "Key" + " = " + mPersistentObjectURL; return isDisplayValue() ? base + ": " + mDisplayValue : base; } @Override public int compareTo( ObjectHandle pOther ) { return this.toString().compareTo( pOther.toString() ); } @Override public boolean equals( Object o ) { return (this == o) || ((o instanceof ObjectHandle) && equals( (ObjectHandle) o )); } public boolean equals( ObjectHandle them ) { return (this == them) || ((them != null) // && this.mPersistentObjectURL.equals( them.mPersistentObjectURL ) // ); } @Override public int hashCode() { return mPersistentObjectURL.hashCode(); } @Override public String toString() { return isDisplayValue() ? mDisplayValue : printHandle(); } public String getDisplayValue() { return isDisplayValue() ? mDisplayValue : getNoDisplayValue(); } private String getNoDisplayValue() { return mPersistentObjectURL.toString(); } public ObjectHandle setDisplayValue( String pDisplayValue ) { mDisplayValue = (pDisplayValue == null) ? null : pDisplayValue.trim(); return this; } public String getIdentifyingString() { return getNoDisplayValue(); } public static String getIdentifyingString( ObjectHandle[] handles ) { if ( Objects.isNullOrEmpty( handles ) ) { return ""; } StringBuilder ret = new StringBuilder(); for ( ObjectHandle handle : handles ) { ret.append( ObjectHandle.HANDLE_SEPARATOR ); ret.append( handle.getIdentifyingString() ); } return ret.toString().substring( 1 ); } public static String getDisplayValue( ObjectHandle[] handles ) { if ( Objects.isNullOrEmpty( handles ) ) { return ""; } StringBuilder ret = new StringBuilder(); for ( ObjectHandle handle : handles ) { ret.append( ObjectHandle.HANDLE_SEPARATOR ); ret.append( handle.getDisplayValue() ); } return ret.toString().substring( 1 ); } } |
Commits for litesoft/trunk/Java/core/Server/src/org/litesoft/orsup/base/ObjectHandle.java
Revision | Author | Commited | Message |
---|---|---|---|
809 Diff | GeorgeS | Thu 16 Aug, 2012 04:10:46 +0000 | |
804 Diff | GeorgeS | Wed 15 Aug, 2012 12:48:51 +0000 | |
801 Diff | GeorgeS | Wed 15 Aug, 2012 03:59:02 +0000 | |
49 Diff | GeorgeS | Mon 12 Apr, 2010 02:59:10 +0000 | License Text |
24 Diff | GeorgeS | Wed 24 Feb, 2010 01:51:38 +0000 | |
2 | GeorgeS | Sun 07 Feb, 2010 12:50:58 +0000 |