litesoft
@ 947
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 |
// This Source Code is in the Public Domain per: http://unlicense.org package org.litesoft.bo.views; import java.util.*; import org.litesoft.uispecification.*; public class UriFragmentIdOnePlusObjectURLs extends UriFragmentIdParams { public static final Factory FACTORY = new Factory( "ObjURL1+" ) { @Override protected UriFragmentIdParams create( String pLLtoParamsString ) { return fromString( pLLtoParamsString ); } }; private ObjectURL mMainObjectURL; private ObjectURL[] mOtherObjectURLs = ObjectURL.EMPTY_ARRAY; private void setObjectURLs( ObjectURL pMainObjectURL, List<ObjectURL> pOtherObjectURLs ) { if ( null != (mMainObjectURL = pMainObjectURL) ) { if ( pOtherObjectURLs != null ) { mOtherObjectURLs = pOtherObjectURLs.toArray( new ObjectURL[pOtherObjectURLs.size()] ); } } } public UriFragmentIdOnePlusObjectURLs( ObjectURL pMainObjectURL, List<ObjectURL> pOtherObjectURLs ) { setObjectURLs( pMainObjectURL, pOtherObjectURLs ); } public ObjectURL getMainObjectURL() { return mMainObjectURL; } public ObjectURL[] getOtherObjectURLs() { return mOtherObjectURLs; } protected String getRegistrationID() { return FACTORY.getRegistrationID(); } protected String LLtoParamsString() { if ( mMainObjectURL == null ) { return null; } StringBuilder sb = new StringBuilder( mMainObjectURL.toString() ); for ( ObjectURL zObjectURL : mOtherObjectURLs ) { if ( zObjectURL != null ) { sb.append( ObjectURL.URL_SEPARATOR ).append( zObjectURL ); } } return sb.toString(); } public static UriFragmentIdOnePlusObjectURLs fromString( String pLLtoParamsString ) { ObjectURL zObjectURL0 = null; List<ObjectURL> zObjectURLs = null; try { if ( pLLtoParamsString != null ) { int zAt = pLLtoParamsString.indexOf( ObjectURL.URL_SEPARATOR ); if ( zAt == -1 ) { zObjectURL0 = ObjectURL.fromString( pLLtoParamsString ); } else { zObjectURL0 = ObjectURL.fromString( pLLtoParamsString.substring( 0, zAt ) ); int zFrom = zAt + 1; zObjectURLs = new ArrayList<ObjectURL>(); for (; -1 != (zAt = pLLtoParamsString.indexOf( ObjectURL.URL_SEPARATOR, zFrom )); zFrom = zAt + 1 ) { zObjectURLs.add( ObjectURL.fromString( pLLtoParamsString.substring( zFrom, zAt ) ) ); } zObjectURLs.add( ObjectURL.fromString( pLLtoParamsString.substring( zFrom ) ) ); } } return new UriFragmentIdOnePlusObjectURLs( zObjectURL0, zObjectURLs ); } catch ( IllegalArgumentException e ) { throw new IllegalArgumentException( "Unacceptable encoding of UriFragmentIdOnePlusObjectURLs ('" + pLLtoParamsString + "'): " + e ); } } // private UriFragmentIdOnePlusObjectURLs( String pLLtoParamsString ) // { // ObjectURL zObjectURL0 = null; // List<ObjectURL> zObjectURLs = null; // if ( pLLtoParamsString != null ) // { // int zAt = pLLtoParamsString.indexOf( ObjectURL.URL_SEPARATOR ); // if ( zAt == -1 ) // { // zObjectURL0 = ObjectURL.fromString( pLLtoParamsString ); // } // else // { // zObjectURL0 = ObjectURL.fromString( pLLtoParamsString.substring( 0, zAt ) ); // int zFrom = zAt + 1; // zObjectURLs = new ArrayList<ObjectURL>(); // for (; -1 != (zAt = pLLtoParamsString.indexOf( ObjectURL.URL_SEPARATOR, zFrom )); zFrom = zAt + 1 ) // { // zObjectURLs.add( ObjectURL.fromString( pLLtoParamsString.substring( zFrom, zAt ) ) ); // } // zObjectURLs.add( ObjectURL.fromString( pLLtoParamsString.substring( zFrom ) ) ); // } // } // setObjectURLs( zObjectURL0, zObjectURLs ); // } } |