1   /**
2    * Copyright (c) 2000-2010 Liferay, Inc. All rights reserved.
3    *
4    * This library is free software; you can redistribute it and/or modify it under
5    * the terms of the GNU Lesser General Public License as published by the Free
6    * Software Foundation; either version 2.1 of the License, or (at your option)
7    * any later version.
8    *
9    * This library is distributed in the hope that it will be useful, but WITHOUT
10   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11   * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
12   * details.
13   */
14  
15  package com.liferay.portal.model.impl;
16  
17  import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
18  import com.liferay.portal.kernel.util.GetterUtil;
19  import com.liferay.portal.kernel.util.StringBundler;
20  import com.liferay.portal.kernel.util.StringPool;
21  import com.liferay.portal.model.Layout;
22  import com.liferay.portal.model.LayoutSoap;
23  import com.liferay.portal.service.ServiceContext;
24  
25  import com.liferay.portlet.expando.model.ExpandoBridge;
26  import com.liferay.portlet.expando.util.ExpandoBridgeFactoryUtil;
27  
28  import java.io.Serializable;
29  
30  import java.lang.reflect.Proxy;
31  
32  import java.sql.Types;
33  
34  import java.util.ArrayList;
35  import java.util.List;
36  
37  /**
38   * <a href="LayoutModelImpl.java.html"><b><i>View Source</i></b></a>
39   *
40   * <p>
41   * ServiceBuilder generated this class. Modifications in this class will be
42   * overwritten the next time is generated.
43   * </p>
44   *
45   * <p>
46   * This interface is a model that represents the Layout table in the
47   * database.
48   * </p>
49   *
50   * @author    Brian Wing Shun Chan
51   * @see       LayoutImpl
52   * @see       com.liferay.portal.model.Layout
53   * @see       com.liferay.portal.model.LayoutModel
54   * @generated
55   */
56  public class LayoutModelImpl extends BaseModelImpl<Layout> {
57      public static final String TABLE_NAME = "Layout";
58      public static final Object[][] TABLE_COLUMNS = {
59              { "plid", new Integer(Types.BIGINT) },
60              { "groupId", new Integer(Types.BIGINT) },
61              { "companyId", new Integer(Types.BIGINT) },
62              { "privateLayout", new Integer(Types.BOOLEAN) },
63              { "layoutId", new Integer(Types.BIGINT) },
64              { "parentLayoutId", new Integer(Types.BIGINT) },
65              { "name", new Integer(Types.VARCHAR) },
66              { "title", new Integer(Types.VARCHAR) },
67              { "description", new Integer(Types.VARCHAR) },
68              { "type_", new Integer(Types.VARCHAR) },
69              { "typeSettings", new Integer(Types.CLOB) },
70              { "hidden_", new Integer(Types.BOOLEAN) },
71              { "friendlyURL", new Integer(Types.VARCHAR) },
72              { "iconImage", new Integer(Types.BOOLEAN) },
73              { "iconImageId", new Integer(Types.BIGINT) },
74              { "themeId", new Integer(Types.VARCHAR) },
75              { "colorSchemeId", new Integer(Types.VARCHAR) },
76              { "wapThemeId", new Integer(Types.VARCHAR) },
77              { "wapColorSchemeId", new Integer(Types.VARCHAR) },
78              { "css", new Integer(Types.VARCHAR) },
79              { "priority", new Integer(Types.INTEGER) },
80              { "layoutPrototypeId", new Integer(Types.BIGINT) },
81              { "dlFolderId", new Integer(Types.BIGINT) }
82          };
83      public static final String TABLE_SQL_CREATE = "create table Layout (plid LONG not null primary key,groupId LONG,companyId LONG,privateLayout BOOLEAN,layoutId LONG,parentLayoutId LONG,name STRING null,title STRING null,description STRING null,type_ VARCHAR(75) null,typeSettings TEXT null,hidden_ BOOLEAN,friendlyURL VARCHAR(255) null,iconImage BOOLEAN,iconImageId LONG,themeId VARCHAR(75) null,colorSchemeId VARCHAR(75) null,wapThemeId VARCHAR(75) null,wapColorSchemeId VARCHAR(75) null,css STRING null,priority INTEGER,layoutPrototypeId LONG,dlFolderId LONG)";
84      public static final String TABLE_SQL_DROP = "drop table Layout";
85      public static final String ORDER_BY_JPQL = " ORDER BY layout.parentLayoutId ASC, layout.priority ASC";
86      public static final String ORDER_BY_SQL = " ORDER BY Layout.parentLayoutId ASC, Layout.priority ASC";
87      public static final String DATA_SOURCE = "liferayDataSource";
88      public static final String SESSION_FACTORY = "liferaySessionFactory";
89      public static final String TX_MANAGER = "liferayTransactionManager";
90      public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
91                  "value.object.entity.cache.enabled.com.liferay.portal.model.Layout"),
92              true);
93      public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
94                  "value.object.finder.cache.enabled.com.liferay.portal.model.Layout"),
95              true);
96  
97      public static Layout toModel(LayoutSoap soapModel) {
98          Layout model = new LayoutImpl();
99  
100         model.setPlid(soapModel.getPlid());
101         model.setGroupId(soapModel.getGroupId());
102         model.setCompanyId(soapModel.getCompanyId());
103         model.setPrivateLayout(soapModel.getPrivateLayout());
104         model.setLayoutId(soapModel.getLayoutId());
105         model.setParentLayoutId(soapModel.getParentLayoutId());
106         model.setName(soapModel.getName());
107         model.setTitle(soapModel.getTitle());
108         model.setDescription(soapModel.getDescription());
109         model.setType(soapModel.getType());
110         model.setTypeSettings(soapModel.getTypeSettings());
111         model.setHidden(soapModel.getHidden());
112         model.setFriendlyURL(soapModel.getFriendlyURL());
113         model.setIconImage(soapModel.getIconImage());
114         model.setIconImageId(soapModel.getIconImageId());
115         model.setThemeId(soapModel.getThemeId());
116         model.setColorSchemeId(soapModel.getColorSchemeId());
117         model.setWapThemeId(soapModel.getWapThemeId());
118         model.setWapColorSchemeId(soapModel.getWapColorSchemeId());
119         model.setCss(soapModel.getCss());
120         model.setPriority(soapModel.getPriority());
121         model.setLayoutPrototypeId(soapModel.getLayoutPrototypeId());
122         model.setDlFolderId(soapModel.getDlFolderId());
123 
124         return model;
125     }
126 
127     public static List<Layout> toModels(LayoutSoap[] soapModels) {
128         List<Layout> models = new ArrayList<Layout>(soapModels.length);
129 
130         for (LayoutSoap soapModel : soapModels) {
131             models.add(toModel(soapModel));
132         }
133 
134         return models;
135     }
136 
137     public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
138                 "lock.expiration.time.com.liferay.portal.model.Layout"));
139 
140     public LayoutModelImpl() {
141     }
142 
143     public long getPrimaryKey() {
144         return _plid;
145     }
146 
147     public void setPrimaryKey(long pk) {
148         setPlid(pk);
149     }
150 
151     public Serializable getPrimaryKeyObj() {
152         return new Long(_plid);
153     }
154 
155     public long getPlid() {
156         return _plid;
157     }
158 
159     public void setPlid(long plid) {
160         _plid = plid;
161     }
162 
163     public long getGroupId() {
164         return _groupId;
165     }
166 
167     public void setGroupId(long groupId) {
168         _groupId = groupId;
169 
170         if (!_setOriginalGroupId) {
171             _setOriginalGroupId = true;
172 
173             _originalGroupId = groupId;
174         }
175     }
176 
177     public long getOriginalGroupId() {
178         return _originalGroupId;
179     }
180 
181     public long getCompanyId() {
182         return _companyId;
183     }
184 
185     public void setCompanyId(long companyId) {
186         _companyId = companyId;
187     }
188 
189     public boolean getPrivateLayout() {
190         return _privateLayout;
191     }
192 
193     public boolean isPrivateLayout() {
194         return _privateLayout;
195     }
196 
197     public void setPrivateLayout(boolean privateLayout) {
198         _privateLayout = privateLayout;
199 
200         if (!_setOriginalPrivateLayout) {
201             _setOriginalPrivateLayout = true;
202 
203             _originalPrivateLayout = privateLayout;
204         }
205     }
206 
207     public boolean getOriginalPrivateLayout() {
208         return _originalPrivateLayout;
209     }
210 
211     public long getLayoutId() {
212         return _layoutId;
213     }
214 
215     public void setLayoutId(long layoutId) {
216         _layoutId = layoutId;
217 
218         if (!_setOriginalLayoutId) {
219             _setOriginalLayoutId = true;
220 
221             _originalLayoutId = layoutId;
222         }
223     }
224 
225     public long getOriginalLayoutId() {
226         return _originalLayoutId;
227     }
228 
229     public long getParentLayoutId() {
230         return _parentLayoutId;
231     }
232 
233     public void setParentLayoutId(long parentLayoutId) {
234         _parentLayoutId = parentLayoutId;
235     }
236 
237     public String getName() {
238         if (_name == null) {
239             return StringPool.BLANK;
240         }
241         else {
242             return _name;
243         }
244     }
245 
246     public void setName(String name) {
247         _name = name;
248     }
249 
250     public String getTitle() {
251         if (_title == null) {
252             return StringPool.BLANK;
253         }
254         else {
255             return _title;
256         }
257     }
258 
259     public void setTitle(String title) {
260         _title = title;
261     }
262 
263     public String getDescription() {
264         if (_description == null) {
265             return StringPool.BLANK;
266         }
267         else {
268             return _description;
269         }
270     }
271 
272     public void setDescription(String description) {
273         _description = description;
274     }
275 
276     public String getType() {
277         if (_type == null) {
278             return StringPool.BLANK;
279         }
280         else {
281             return _type;
282         }
283     }
284 
285     public void setType(String type) {
286         _type = type;
287     }
288 
289     public String getTypeSettings() {
290         if (_typeSettings == null) {
291             return StringPool.BLANK;
292         }
293         else {
294             return _typeSettings;
295         }
296     }
297 
298     public void setTypeSettings(String typeSettings) {
299         _typeSettings = typeSettings;
300     }
301 
302     public boolean getHidden() {
303         return _hidden;
304     }
305 
306     public boolean isHidden() {
307         return _hidden;
308     }
309 
310     public void setHidden(boolean hidden) {
311         _hidden = hidden;
312     }
313 
314     public String getFriendlyURL() {
315         if (_friendlyURL == null) {
316             return StringPool.BLANK;
317         }
318         else {
319             return _friendlyURL;
320         }
321     }
322 
323     public void setFriendlyURL(String friendlyURL) {
324         _friendlyURL = friendlyURL;
325 
326         if (_originalFriendlyURL == null) {
327             _originalFriendlyURL = friendlyURL;
328         }
329     }
330 
331     public String getOriginalFriendlyURL() {
332         return GetterUtil.getString(_originalFriendlyURL);
333     }
334 
335     public boolean getIconImage() {
336         return _iconImage;
337     }
338 
339     public boolean isIconImage() {
340         return _iconImage;
341     }
342 
343     public void setIconImage(boolean iconImage) {
344         _iconImage = iconImage;
345     }
346 
347     public long getIconImageId() {
348         return _iconImageId;
349     }
350 
351     public void setIconImageId(long iconImageId) {
352         _iconImageId = iconImageId;
353 
354         if (!_setOriginalIconImageId) {
355             _setOriginalIconImageId = true;
356 
357             _originalIconImageId = iconImageId;
358         }
359     }
360 
361     public long getOriginalIconImageId() {
362         return _originalIconImageId;
363     }
364 
365     public String getThemeId() {
366         if (_themeId == null) {
367             return StringPool.BLANK;
368         }
369         else {
370             return _themeId;
371         }
372     }
373 
374     public void setThemeId(String themeId) {
375         _themeId = themeId;
376     }
377 
378     public String getColorSchemeId() {
379         if (_colorSchemeId == null) {
380             return StringPool.BLANK;
381         }
382         else {
383             return _colorSchemeId;
384         }
385     }
386 
387     public void setColorSchemeId(String colorSchemeId) {
388         _colorSchemeId = colorSchemeId;
389     }
390 
391     public String getWapThemeId() {
392         if (_wapThemeId == null) {
393             return StringPool.BLANK;
394         }
395         else {
396             return _wapThemeId;
397         }
398     }
399 
400     public void setWapThemeId(String wapThemeId) {
401         _wapThemeId = wapThemeId;
402     }
403 
404     public String getWapColorSchemeId() {
405         if (_wapColorSchemeId == null) {
406             return StringPool.BLANK;
407         }
408         else {
409             return _wapColorSchemeId;
410         }
411     }
412 
413     public void setWapColorSchemeId(String wapColorSchemeId) {
414         _wapColorSchemeId = wapColorSchemeId;
415     }
416 
417     public String getCss() {
418         if (_css == null) {
419             return StringPool.BLANK;
420         }
421         else {
422             return _css;
423         }
424     }
425 
426     public void setCss(String css) {
427         _css = css;
428     }
429 
430     public int getPriority() {
431         return _priority;
432     }
433 
434     public void setPriority(int priority) {
435         _priority = priority;
436     }
437 
438     public long getLayoutPrototypeId() {
439         return _layoutPrototypeId;
440     }
441 
442     public void setLayoutPrototypeId(long layoutPrototypeId) {
443         _layoutPrototypeId = layoutPrototypeId;
444     }
445 
446     public long getDlFolderId() {
447         return _dlFolderId;
448     }
449 
450     public void setDlFolderId(long dlFolderId) {
451         _dlFolderId = dlFolderId;
452 
453         if (!_setOriginalDlFolderId) {
454             _setOriginalDlFolderId = true;
455 
456             _originalDlFolderId = dlFolderId;
457         }
458     }
459 
460     public long getOriginalDlFolderId() {
461         return _originalDlFolderId;
462     }
463 
464     public Layout toEscapedModel() {
465         if (isEscapedModel()) {
466             return (Layout)this;
467         }
468         else {
469             return (Layout)Proxy.newProxyInstance(Layout.class.getClassLoader(),
470                 new Class[] { Layout.class }, new AutoEscapeBeanHandler(this));
471         }
472     }
473 
474     public ExpandoBridge getExpandoBridge() {
475         if (_expandoBridge == null) {
476             _expandoBridge = ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(),
477                     Layout.class.getName(), getPrimaryKey());
478         }
479 
480         return _expandoBridge;
481     }
482 
483     public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
484         getExpandoBridge().setAttributes(serviceContext);
485     }
486 
487     public Object clone() {
488         LayoutImpl clone = new LayoutImpl();
489 
490         clone.setPlid(getPlid());
491         clone.setGroupId(getGroupId());
492         clone.setCompanyId(getCompanyId());
493         clone.setPrivateLayout(getPrivateLayout());
494         clone.setLayoutId(getLayoutId());
495         clone.setParentLayoutId(getParentLayoutId());
496         clone.setName(getName());
497         clone.setTitle(getTitle());
498         clone.setDescription(getDescription());
499         clone.setType(getType());
500         clone.setTypeSettings(getTypeSettings());
501         clone.setHidden(getHidden());
502         clone.setFriendlyURL(getFriendlyURL());
503         clone.setIconImage(getIconImage());
504         clone.setIconImageId(getIconImageId());
505         clone.setThemeId(getThemeId());
506         clone.setColorSchemeId(getColorSchemeId());
507         clone.setWapThemeId(getWapThemeId());
508         clone.setWapColorSchemeId(getWapColorSchemeId());
509         clone.setCss(getCss());
510         clone.setPriority(getPriority());
511         clone.setLayoutPrototypeId(getLayoutPrototypeId());
512         clone.setDlFolderId(getDlFolderId());
513 
514         return clone;
515     }
516 
517     public int compareTo(Layout layout) {
518         int value = 0;
519 
520         if (getParentLayoutId() < layout.getParentLayoutId()) {
521             value = -1;
522         }
523         else if (getParentLayoutId() > layout.getParentLayoutId()) {
524             value = 1;
525         }
526         else {
527             value = 0;
528         }
529 
530         if (value != 0) {
531             return value;
532         }
533 
534         if (getPriority() < layout.getPriority()) {
535             value = -1;
536         }
537         else if (getPriority() > layout.getPriority()) {
538             value = 1;
539         }
540         else {
541             value = 0;
542         }
543 
544         if (value != 0) {
545             return value;
546         }
547 
548         return 0;
549     }
550 
551     public boolean equals(Object obj) {
552         if (obj == null) {
553             return false;
554         }
555 
556         Layout layout = null;
557 
558         try {
559             layout = (Layout)obj;
560         }
561         catch (ClassCastException cce) {
562             return false;
563         }
564 
565         long pk = layout.getPrimaryKey();
566 
567         if (getPrimaryKey() == pk) {
568             return true;
569         }
570         else {
571             return false;
572         }
573     }
574 
575     public int hashCode() {
576         return (int)getPrimaryKey();
577     }
578 
579     public String toString() {
580         StringBundler sb = new StringBundler(47);
581 
582         sb.append("{plid=");
583         sb.append(getPlid());
584         sb.append(", groupId=");
585         sb.append(getGroupId());
586         sb.append(", companyId=");
587         sb.append(getCompanyId());
588         sb.append(", privateLayout=");
589         sb.append(getPrivateLayout());
590         sb.append(", layoutId=");
591         sb.append(getLayoutId());
592         sb.append(", parentLayoutId=");
593         sb.append(getParentLayoutId());
594         sb.append(", name=");
595         sb.append(getName());
596         sb.append(", title=");
597         sb.append(getTitle());
598         sb.append(", description=");
599         sb.append(getDescription());
600         sb.append(", type=");
601         sb.append(getType());
602         sb.append(", typeSettings=");
603         sb.append(getTypeSettings());
604         sb.append(", hidden=");
605         sb.append(getHidden());
606         sb.append(", friendlyURL=");
607         sb.append(getFriendlyURL());
608         sb.append(", iconImage=");
609         sb.append(getIconImage());
610         sb.append(", iconImageId=");
611         sb.append(getIconImageId());
612         sb.append(", themeId=");
613         sb.append(getThemeId());
614         sb.append(", colorSchemeId=");
615         sb.append(getColorSchemeId());
616         sb.append(", wapThemeId=");
617         sb.append(getWapThemeId());
618         sb.append(", wapColorSchemeId=");
619         sb.append(getWapColorSchemeId());
620         sb.append(", css=");
621         sb.append(getCss());
622         sb.append(", priority=");
623         sb.append(getPriority());
624         sb.append(", layoutPrototypeId=");
625         sb.append(getLayoutPrototypeId());
626         sb.append(", dlFolderId=");
627         sb.append(getDlFolderId());
628         sb.append("}");
629 
630         return sb.toString();
631     }
632 
633     public String toXmlString() {
634         StringBundler sb = new StringBundler(73);
635 
636         sb.append("<model><model-name>");
637         sb.append("com.liferay.portal.model.Layout");
638         sb.append("</model-name>");
639 
640         sb.append(
641             "<column><column-name>plid</column-name><column-value><![CDATA[");
642         sb.append(getPlid());
643         sb.append("]]></column-value></column>");
644         sb.append(
645             "<column><column-name>groupId</column-name><column-value><![CDATA[");
646         sb.append(getGroupId());
647         sb.append("]]></column-value></column>");
648         sb.append(
649             "<column><column-name>companyId</column-name><column-value><![CDATA[");
650         sb.append(getCompanyId());
651         sb.append("]]></column-value></column>");
652         sb.append(
653             "<column><column-name>privateLayout</column-name><column-value><![CDATA[");
654         sb.append(getPrivateLayout());
655         sb.append("]]></column-value></column>");
656         sb.append(
657             "<column><column-name>layoutId</column-name><column-value><![CDATA[");
658         sb.append(getLayoutId());
659         sb.append("]]></column-value></column>");
660         sb.append(
661             "<column><column-name>parentLayoutId</column-name><column-value><![CDATA[");
662         sb.append(getParentLayoutId());
663         sb.append("]]></column-value></column>");
664         sb.append(
665             "<column><column-name>name</column-name><column-value><![CDATA[");
666         sb.append(getName());
667         sb.append("]]></column-value></column>");
668         sb.append(
669             "<column><column-name>title</column-name><column-value><![CDATA[");
670         sb.append(getTitle());
671         sb.append("]]></column-value></column>");
672         sb.append(
673             "<column><column-name>description</column-name><column-value><![CDATA[");
674         sb.append(getDescription());
675         sb.append("]]></column-value></column>");
676         sb.append(
677             "<column><column-name>type</column-name><column-value><![CDATA[");
678         sb.append(getType());
679         sb.append("]]></column-value></column>");
680         sb.append(
681             "<column><column-name>typeSettings</column-name><column-value><![CDATA[");
682         sb.append(getTypeSettings());
683         sb.append("]]></column-value></column>");
684         sb.append(
685             "<column><column-name>hidden</column-name><column-value><![CDATA[");
686         sb.append(getHidden());
687         sb.append("]]></column-value></column>");
688         sb.append(
689             "<column><column-name>friendlyURL</column-name><column-value><![CDATA[");
690         sb.append(getFriendlyURL());
691         sb.append("]]></column-value></column>");
692         sb.append(
693             "<column><column-name>iconImage</column-name><column-value><![CDATA[");
694         sb.append(getIconImage());
695         sb.append("]]></column-value></column>");
696         sb.append(
697             "<column><column-name>iconImageId</column-name><column-value><![CDATA[");
698         sb.append(getIconImageId());
699         sb.append("]]></column-value></column>");
700         sb.append(
701             "<column><column-name>themeId</column-name><column-value><![CDATA[");
702         sb.append(getThemeId());
703         sb.append("]]></column-value></column>");
704         sb.append(
705             "<column><column-name>colorSchemeId</column-name><column-value><![CDATA[");
706         sb.append(getColorSchemeId());
707         sb.append("]]></column-value></column>");
708         sb.append(
709             "<column><column-name>wapThemeId</column-name><column-value><![CDATA[");
710         sb.append(getWapThemeId());
711         sb.append("]]></column-value></column>");
712         sb.append(
713             "<column><column-name>wapColorSchemeId</column-name><column-value><![CDATA[");
714         sb.append(getWapColorSchemeId());
715         sb.append("]]></column-value></column>");
716         sb.append(
717             "<column><column-name>css</column-name><column-value><![CDATA[");
718         sb.append(getCss());
719         sb.append("]]></column-value></column>");
720         sb.append(
721             "<column><column-name>priority</column-name><column-value><![CDATA[");
722         sb.append(getPriority());
723         sb.append("]]></column-value></column>");
724         sb.append(
725             "<column><column-name>layoutPrototypeId</column-name><column-value><![CDATA[");
726         sb.append(getLayoutPrototypeId());
727         sb.append("]]></column-value></column>");
728         sb.append(
729             "<column><column-name>dlFolderId</column-name><column-value><![CDATA[");
730         sb.append(getDlFolderId());
731         sb.append("]]></column-value></column>");
732 
733         sb.append("</model>");
734 
735         return sb.toString();
736     }
737 
738     private long _plid;
739     private long _groupId;
740     private long _originalGroupId;
741     private boolean _setOriginalGroupId;
742     private long _companyId;
743     private boolean _privateLayout;
744     private boolean _originalPrivateLayout;
745     private boolean _setOriginalPrivateLayout;
746     private long _layoutId;
747     private long _originalLayoutId;
748     private boolean _setOriginalLayoutId;
749     private long _parentLayoutId;
750     private String _name;
751     private String _title;
752     private String _description;
753     private String _type;
754     private String _typeSettings;
755     private boolean _hidden;
756     private String _friendlyURL;
757     private String _originalFriendlyURL;
758     private boolean _iconImage;
759     private long _iconImageId;
760     private long _originalIconImageId;
761     private boolean _setOriginalIconImageId;
762     private String _themeId;
763     private String _colorSchemeId;
764     private String _wapThemeId;
765     private String _wapColorSchemeId;
766     private String _css;
767     private int _priority;
768     private long _layoutPrototypeId;
769     private long _dlFolderId;
770     private long _originalDlFolderId;
771     private boolean _setOriginalDlFolderId;
772     private transient ExpandoBridge _expandoBridge;
773 }