OpenECHO
 All Classes Namespaces Files Functions Variables
ElectricShutter.java
Go to the documentation of this file.
1 /*
2  * Copyright 2012 Sony Computer Science Laboratories, Inc. <info@kadecot.net>
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package com.sonycsl.echo.eoj.device.housingfacilities;
17 
25 
26 public abstract class ElectricShutter extends DeviceObject {
27 
28  public static final short ECHO_CLASS_CODE = (short)0x0261;
29 
30  public static final byte EPC_OPEN_CLOSE_SETTING1 = (byte)0xE0;
31  public static final byte EPC_EXTENT_OF_OPENING1 = (byte)0xE1;
32  public static final byte EPC_BLIND_ANGLE_SETTING = (byte)0xE2;
33  public static final byte EPC_SHUTTER_SPEED = (byte)0xE3;
34  public static final byte EPC_EXTENT_OF_OPENING2 = (byte)0xE4;
35  public static final byte EPC_ELECTRIC_LOCK_SETTING = (byte)0xE5;
36  public static final byte EPC_OPEN_CLOSE_SETTING2 = (byte)0xE7;
37 
38  @Override
39  protected void setupPropertyMaps() {
40  super.setupPropertyMaps();
41 
51  }
52 
53  @Override
54  public void onNew() {
55  super.onNew();
56  Echo.getEventListener().onNewElectricShutter(this);
57  }
58 
59  @Override
60  public short getEchoClassCode() {
61  return ECHO_CLASS_CODE;
62  }
63 
88  protected boolean setOperationStatus(byte[] edt) {return false;}
113  protected abstract byte[] getOperationStatus();
138  protected abstract boolean setOpenCloseSetting1(byte[] edt);
163  protected abstract byte[] getOpenCloseSetting1();
188  protected boolean isValidOpenCloseSetting1(byte[] edt) {
189  if(edt == null || !(edt.length == 1)) return false;
190  return true;
191  }
214  protected boolean setExtentOfOpening1(byte[] edt) {return false;}
237  protected byte[] getExtentOfOpening1() {return null;}
260  protected boolean isValidExtentOfOpening1(byte[] edt) {
261  if(edt == null || !(edt.length == 1)) return false;
262  return true;
263  }
286  protected boolean setBlindAngleSetting(byte[] edt) {return false;}
309  protected byte[] getBlindAngleSetting() {return null;}
332  protected boolean isValidBlindAngleSetting(byte[] edt) {
333  if(edt == null || !(edt.length == 1)) return false;
334  return true;
335  }
358  protected boolean setShutterSpeed(byte[] edt) {return false;}
381  protected byte[] getShutterSpeed() {return null;}
404  protected boolean isValidShutterSpeed(byte[] edt) {
405  if(edt == null || !(edt.length == 1)) return false;
406  return true;
407  }
430  protected boolean setExtentOfOpening2(byte[] edt) {return false;}
453  protected byte[] getExtentOfOpening2() {return null;}
476  protected boolean isValidExtentOfOpening2(byte[] edt) {
477  if(edt == null || !(edt.length == 1)) return false;
478  return true;
479  }
502  protected boolean setElectricLockSetting(byte[] edt) {return false;}
525  protected byte[] getElectricLockSetting() {return null;}
548  protected boolean isValidElectricLockSetting(byte[] edt) {
549  if(edt == null || !(edt.length == 1)) return false;
550  return true;
551  }
576  protected abstract boolean setOpenCloseSetting2(byte[] edt);
601  protected abstract byte[] getOpenCloseSetting2();
626  protected boolean isValidOpenCloseSetting2(byte[] edt) {
627  if(edt == null || !(edt.length == 1)) return false;
628  return true;
629  }
630 
631  @Override
632  protected synchronized boolean setProperty(EchoProperty property) {
633  boolean success = super.setProperty(property);
634  if(success) return success;
635 
636  switch(property.epc) {
637  case EPC_OPEN_CLOSE_SETTING1 : return setOpenCloseSetting1(property.edt);
638  case EPC_EXTENT_OF_OPENING1 : return setExtentOfOpening1(property.edt);
639  case EPC_BLIND_ANGLE_SETTING : return setBlindAngleSetting(property.edt);
640  case EPC_SHUTTER_SPEED : return setShutterSpeed(property.edt);
641  case EPC_EXTENT_OF_OPENING2 : return setExtentOfOpening2(property.edt);
642  case EPC_ELECTRIC_LOCK_SETTING : return setElectricLockSetting(property.edt);
643  case EPC_OPEN_CLOSE_SETTING2 : return setOpenCloseSetting2(property.edt);
644  default : return false;
645  }
646  }
647 
648  @Override
649  protected synchronized byte[] getProperty(byte epc) {
650  byte[] edt = super.getProperty(epc);
651  if(edt != null) return edt;
652 
653  switch(epc) {
657  case EPC_SHUTTER_SPEED : return getShutterSpeed();
661  default : return null;
662  }
663  }
664 
665  @Override
666  protected synchronized boolean isValidProperty(EchoProperty property) {
667  boolean valid = super.isValidProperty(property);
668  if(valid) return valid;
669 
670  switch(property.epc) {
671  case EPC_OPEN_CLOSE_SETTING1 : return isValidOpenCloseSetting1(property.edt);
672  case EPC_EXTENT_OF_OPENING1 : return isValidExtentOfOpening1(property.edt);
673  case EPC_BLIND_ANGLE_SETTING : return isValidBlindAngleSetting(property.edt);
674  case EPC_SHUTTER_SPEED : return isValidShutterSpeed(property.edt);
675  case EPC_EXTENT_OF_OPENING2 : return isValidExtentOfOpening2(property.edt);
677  case EPC_OPEN_CLOSE_SETTING2 : return isValidOpenCloseSetting2(property.edt);
678  default : return false;
679  }
680  }
681 
682  @Override
683  public Setter set() {
684  return set(true);
685  }
686 
687  @Override
688  public Setter set(boolean responseRequired) {
689  return new Setter(getEchoClassCode(), getInstanceCode()
690  , getNode().getAddressStr(), responseRequired);
691  }
692 
693  @Override
694  public Getter get() {
695  return new Getter(getEchoClassCode(), getInstanceCode()
696  , getNode().getAddressStr());
697  }
698 
699  @Override
700  public Informer inform() {
701  return inform(isSelfObject());
702  }
703 
704  @Override
705  protected Informer inform(boolean multicast) {
706  String address;
707  if(multicast) {
709  } else {
710  address = getNode().getAddressStr();
711  }
712  return new Informer(getEchoClassCode(), getInstanceCode()
713  , address, isSelfObject());
714  }
715 
716  public static class Receiver extends DeviceObject.Receiver {
717 
718  @Override
719  protected boolean onSetProperty(EchoObject eoj, short tid, byte esv,
720  EchoProperty property, boolean success) {
721  boolean ret = super.onSetProperty(eoj, tid, esv, property, success);
722  if(ret) return true;
723 
724  switch(property.epc) {
726  onSetOpenCloseSetting1(eoj, tid, esv, property, success);
727  return true;
728  case EPC_EXTENT_OF_OPENING1 :
729  onSetExtentOfOpening1(eoj, tid, esv, property, success);
730  return true;
732  onSetBlindAngleSetting(eoj, tid, esv, property, success);
733  return true;
734  case EPC_SHUTTER_SPEED :
735  onSetShutterSpeed(eoj, tid, esv, property, success);
736  return true;
737  case EPC_EXTENT_OF_OPENING2 :
738  onSetExtentOfOpening2(eoj, tid, esv, property, success);
739  return true;
741  onSetElectricLockSetting(eoj, tid, esv, property, success);
742  return true;
744  onSetOpenCloseSetting2(eoj, tid, esv, property, success);
745  return true;
746  default :
747  return false;
748  }
749  }
750 
751  @Override
752  protected boolean onGetProperty(EchoObject eoj, short tid, byte esv,
753  EchoProperty property, boolean success) {
754  boolean ret = super.onGetProperty(eoj, tid, esv, property, success);
755  if(ret) return true;
756 
757  switch(property.epc) {
759  onGetOpenCloseSetting1(eoj, tid, esv, property, success);
760  return true;
761  case EPC_EXTENT_OF_OPENING1 :
762  onGetExtentOfOpening1(eoj, tid, esv, property, success);
763  return true;
765  onGetBlindAngleSetting(eoj, tid, esv, property, success);
766  return true;
767  case EPC_SHUTTER_SPEED :
768  onGetShutterSpeed(eoj, tid, esv, property, success);
769  return true;
770  case EPC_EXTENT_OF_OPENING2 :
771  onGetExtentOfOpening2(eoj, tid, esv, property, success);
772  return true;
774  onGetElectricLockSetting(eoj, tid, esv, property, success);
775  return true;
777  onGetOpenCloseSetting2(eoj, tid, esv, property, success);
778  return true;
779  default :
780  return false;
781  }
782  }
783 
808  protected void onSetOpenCloseSetting1(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
833  protected void onGetOpenCloseSetting1(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
856  protected void onSetExtentOfOpening1(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
879  protected void onGetExtentOfOpening1(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
902  protected void onSetBlindAngleSetting(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
925  protected void onGetBlindAngleSetting(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
948  protected void onSetShutterSpeed(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
971  protected void onGetShutterSpeed(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
994  protected void onSetExtentOfOpening2(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
1017  protected void onGetExtentOfOpening2(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
1040  protected void onSetElectricLockSetting(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
1063  protected void onGetElectricLockSetting(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
1088  protected void onSetOpenCloseSetting2(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
1113  protected void onGetOpenCloseSetting2(EchoObject eoj, short tid, byte esv, EchoProperty property, boolean success) {}
1114  }
1115 
1116  public static class Setter extends DeviceObject.Setter {
1117  public Setter(short dstEchoClassCode, byte dstEchoInstanceCode
1118  , String dstEchoAddress, boolean responseRequired) {
1119  super(dstEchoClassCode, dstEchoInstanceCode
1120  , dstEchoAddress, responseRequired);
1121  }
1122 
1123  @Override
1124  public Setter reqSetProperty(byte epc, byte[] edt) {
1125  return (Setter)super.reqSetProperty(epc, edt);
1126  }
1127 
1128  @Override
1129  public Setter reqSetOperationStatus(byte[] edt) {
1130  return (Setter)super.reqSetOperationStatus(edt);
1131  }
1132  @Override
1133  public Setter reqSetInstallationLocation(byte[] edt) {
1134  return (Setter)super.reqSetInstallationLocation(edt);
1135  }
1136  @Override
1137  public Setter reqSetCurrentLimitSetting(byte[] edt) {
1138  return (Setter)super.reqSetCurrentLimitSetting(edt);
1139  }
1140  @Override
1141  public Setter reqSetPowerSavingOperationSetting(byte[] edt) {
1142  return (Setter)super.reqSetPowerSavingOperationSetting(edt);
1143  }
1144  @Override
1145  public Setter reqSetRemoteControlSetting(byte[] edt) {
1146  return (Setter)super.reqSetRemoteControlSetting(edt);
1147  }
1148  @Override
1149  public Setter reqSetCurrentTimeSetting(byte[] edt) {
1150  return (Setter)super.reqSetCurrentTimeSetting(edt);
1151  }
1152  @Override
1153  public Setter reqSetCurrentDateSetting(byte[] edt) {
1154  return (Setter)super.reqSetCurrentDateSetting(edt);
1155  }
1156  @Override
1157  public Setter reqSetPowerLimitSetting(byte[] edt) {
1158  return (Setter)super.reqSetPowerLimitSetting(edt);
1159  }
1160 
1185  public Setter reqSetOpenCloseSetting1(byte[] edt) {
1186  reqSetProperty(EPC_OPEN_CLOSE_SETTING1, edt);
1187  return this;
1188  }
1211  public Setter reqSetExtentOfOpening1(byte[] edt) {
1212  reqSetProperty(EPC_EXTENT_OF_OPENING1, edt);
1213  return this;
1214  }
1237  public Setter reqSetBlindAngleSetting(byte[] edt) {
1238  reqSetProperty(EPC_BLIND_ANGLE_SETTING, edt);
1239  return this;
1240  }
1263  public Setter reqSetShutterSpeed(byte[] edt) {
1264  reqSetProperty(EPC_SHUTTER_SPEED, edt);
1265  return this;
1266  }
1289  public Setter reqSetExtentOfOpening2(byte[] edt) {
1290  reqSetProperty(EPC_EXTENT_OF_OPENING2, edt);
1291  return this;
1292  }
1315  public Setter reqSetElectricLockSetting(byte[] edt) {
1316  reqSetProperty(EPC_ELECTRIC_LOCK_SETTING, edt);
1317  return this;
1318  }
1343  public Setter reqSetOpenCloseSetting2(byte[] edt) {
1344  reqSetProperty(EPC_OPEN_CLOSE_SETTING2, edt);
1345  return this;
1346  }
1347  }
1348 
1349  public static class Getter extends DeviceObject.Getter {
1350  public Getter(short dstEchoClassCode, byte dstEchoInstanceCode
1351  , String dstEchoAddress) {
1352  super(dstEchoClassCode, dstEchoInstanceCode
1353  , dstEchoAddress);
1354  }
1355 
1356  @Override
1357  public Getter reqGetProperty(byte epc) {
1358  return (Getter)super.reqGetProperty(epc);
1359  }
1360 
1361  @Override
1362  public Getter reqGetOperationStatus() {
1363  return (Getter)super.reqGetOperationStatus();
1364  }
1365  @Override
1366  public Getter reqGetInstallationLocation() {
1367  return (Getter)super.reqGetInstallationLocation();
1368  }
1369  @Override
1370  public Getter reqGetStandardVersionInformation() {
1371  return (Getter)super.reqGetStandardVersionInformation();
1372  }
1373  @Override
1374  public Getter reqGetIdentificationNumber() {
1375  return (Getter)super.reqGetIdentificationNumber();
1376  }
1377  @Override
1378  public Getter reqGetMeasuredInstantaneousPowerConsumption() {
1379  return (Getter)super.reqGetMeasuredInstantaneousPowerConsumption();
1380  }
1381  @Override
1382  public Getter reqGetMeasuredCumulativePowerConsumption() {
1383  return (Getter)super.reqGetMeasuredCumulativePowerConsumption();
1384  }
1385  @Override
1386  public Getter reqGetManufacturersFaultCode() {
1387  return (Getter)super.reqGetManufacturersFaultCode();
1388  }
1389  @Override
1390  public Getter reqGetCurrentLimitSetting() {
1391  return (Getter)super.reqGetCurrentLimitSetting();
1392  }
1393  @Override
1394  public Getter reqGetFaultStatus() {
1395  return (Getter)super.reqGetFaultStatus();
1396  }
1397  @Override
1398  public Getter reqGetFaultDescription() {
1399  return (Getter)super.reqGetFaultDescription();
1400  }
1401  @Override
1402  public Getter reqGetManufacturerCode() {
1403  return (Getter)super.reqGetManufacturerCode();
1404  }
1405  @Override
1406  public Getter reqGetBusinessFacilityCode() {
1407  return (Getter)super.reqGetBusinessFacilityCode();
1408  }
1409  @Override
1410  public Getter reqGetProductCode() {
1411  return (Getter)super.reqGetProductCode();
1412  }
1413  @Override
1414  public Getter reqGetProductionNumber() {
1415  return (Getter)super.reqGetProductionNumber();
1416  }
1417  @Override
1418  public Getter reqGetProductionDate() {
1419  return (Getter)super.reqGetProductionDate();
1420  }
1421  @Override
1422  public Getter reqGetPowerSavingOperationSetting() {
1423  return (Getter)super.reqGetPowerSavingOperationSetting();
1424  }
1425  @Override
1426  public Getter reqGetRemoteControlSetting() {
1427  return (Getter)super.reqGetRemoteControlSetting();
1428  }
1429  @Override
1430  public Getter reqGetCurrentTimeSetting() {
1431  return (Getter)super.reqGetCurrentTimeSetting();
1432  }
1433  @Override
1434  public Getter reqGetCurrentDateSetting() {
1435  return (Getter)super.reqGetCurrentDateSetting();
1436  }
1437  @Override
1438  public Getter reqGetPowerLimitSetting() {
1439  return (Getter)super.reqGetPowerLimitSetting();
1440  }
1441  @Override
1442  public Getter reqGetCumulativeOperatingTime() {
1443  return (Getter)super.reqGetCumulativeOperatingTime();
1444  }
1445  @Override
1446  public Getter reqGetStatusChangeAnnouncementPropertyMap() {
1447  return (Getter)super.reqGetStatusChangeAnnouncementPropertyMap();
1448  }
1449  @Override
1450  public Getter reqGetSetPropertyMap() {
1451  return (Getter)super.reqGetSetPropertyMap();
1452  }
1453  @Override
1454  public Getter reqGetGetPropertyMap() {
1455  return (Getter)super.reqGetGetPropertyMap();
1456  }
1457 
1482  public Getter reqGetOpenCloseSetting1() {
1483  reqGetProperty(EPC_OPEN_CLOSE_SETTING1);
1484  return this;
1485  }
1508  public Getter reqGetExtentOfOpening1() {
1509  reqGetProperty(EPC_EXTENT_OF_OPENING1);
1510  return this;
1511  }
1534  public Getter reqGetBlindAngleSetting() {
1535  reqGetProperty(EPC_BLIND_ANGLE_SETTING);
1536  return this;
1537  }
1560  public Getter reqGetShutterSpeed() {
1561  reqGetProperty(EPC_SHUTTER_SPEED);
1562  return this;
1563  }
1586  public Getter reqGetExtentOfOpening2() {
1587  reqGetProperty(EPC_EXTENT_OF_OPENING2);
1588  return this;
1589  }
1612  public Getter reqGetElectricLockSetting() {
1613  reqGetProperty(EPC_ELECTRIC_LOCK_SETTING);
1614  return this;
1615  }
1640  public Getter reqGetOpenCloseSetting2() {
1641  reqGetProperty(EPC_OPEN_CLOSE_SETTING2);
1642  return this;
1643  }
1644  }
1645 
1646  public static class Informer extends DeviceObject.Informer {
1647  public Informer(short echoClassCode, byte echoInstanceCode
1648  , String dstEchoAddress, boolean isSelfObject) {
1649  super(echoClassCode, echoInstanceCode
1650  , dstEchoAddress, isSelfObject);
1651  }
1652 
1653  @Override
1654  public Informer reqInformProperty(byte epc) {
1655  return (Informer)super.reqInformProperty(epc);
1656  }
1657  @Override
1658  public Informer reqInformOperationStatus() {
1659  return (Informer)super.reqInformOperationStatus();
1660  }
1661  @Override
1662  public Informer reqInformInstallationLocation() {
1663  return (Informer)super.reqInformInstallationLocation();
1664  }
1665  @Override
1666  public Informer reqInformStandardVersionInformation() {
1667  return (Informer)super.reqInformStandardVersionInformation();
1668  }
1669  @Override
1670  public Informer reqInformIdentificationNumber() {
1671  return (Informer)super.reqInformIdentificationNumber();
1672  }
1673  @Override
1674  public Informer reqInformMeasuredInstantaneousPowerConsumption() {
1675  return (Informer)super.reqInformMeasuredInstantaneousPowerConsumption();
1676  }
1677  @Override
1678  public Informer reqInformMeasuredCumulativePowerConsumption() {
1679  return (Informer)super.reqInformMeasuredCumulativePowerConsumption();
1680  }
1681  @Override
1682  public Informer reqInformManufacturersFaultCode() {
1683  return (Informer)super.reqInformManufacturersFaultCode();
1684  }
1685  @Override
1686  public Informer reqInformCurrentLimitSetting() {
1687  return (Informer)super.reqInformCurrentLimitSetting();
1688  }
1689  @Override
1690  public Informer reqInformFaultStatus() {
1691  return (Informer)super.reqInformFaultStatus();
1692  }
1693  @Override
1694  public Informer reqInformFaultDescription() {
1695  return (Informer)super.reqInformFaultDescription();
1696  }
1697  @Override
1698  public Informer reqInformManufacturerCode() {
1699  return (Informer)super.reqInformManufacturerCode();
1700  }
1701  @Override
1702  public Informer reqInformBusinessFacilityCode() {
1703  return (Informer)super.reqInformBusinessFacilityCode();
1704  }
1705  @Override
1706  public Informer reqInformProductCode() {
1707  return (Informer)super.reqInformProductCode();
1708  }
1709  @Override
1710  public Informer reqInformProductionNumber() {
1711  return (Informer)super.reqInformProductionNumber();
1712  }
1713  @Override
1714  public Informer reqInformProductionDate() {
1715  return (Informer)super.reqInformProductionDate();
1716  }
1717  @Override
1718  public Informer reqInformPowerSavingOperationSetting() {
1719  return (Informer)super.reqInformPowerSavingOperationSetting();
1720  }
1721  @Override
1722  public Informer reqInformRemoteControlSetting() {
1723  return (Informer)super.reqInformRemoteControlSetting();
1724  }
1725  @Override
1726  public Informer reqInformCurrentTimeSetting() {
1727  return (Informer)super.reqInformCurrentTimeSetting();
1728  }
1729  @Override
1730  public Informer reqInformCurrentDateSetting() {
1731  return (Informer)super.reqInformCurrentDateSetting();
1732  }
1733  @Override
1734  public Informer reqInformPowerLimitSetting() {
1735  return (Informer)super.reqInformPowerLimitSetting();
1736  }
1737  @Override
1738  public Informer reqInformCumulativeOperatingTime() {
1739  return (Informer)super.reqInformCumulativeOperatingTime();
1740  }
1741  @Override
1742  public Informer reqInformStatusChangeAnnouncementPropertyMap() {
1743  return (Informer)super.reqInformStatusChangeAnnouncementPropertyMap();
1744  }
1745  @Override
1746  public Informer reqInformSetPropertyMap() {
1747  return (Informer)super.reqInformSetPropertyMap();
1748  }
1749  @Override
1750  public Informer reqInformGetPropertyMap() {
1751  return (Informer)super.reqInformGetPropertyMap();
1752  }
1753 
1778  public Informer reqInformOpenCloseSetting1() {
1779  reqInformProperty(EPC_OPEN_CLOSE_SETTING1);
1780  return this;
1781  }
1804  public Informer reqInformExtentOfOpening1() {
1805  reqInformProperty(EPC_EXTENT_OF_OPENING1);
1806  return this;
1807  }
1830  public Informer reqInformBlindAngleSetting() {
1831  reqInformProperty(EPC_BLIND_ANGLE_SETTING);
1832  return this;
1833  }
1856  public Informer reqInformShutterSpeed() {
1857  reqInformProperty(EPC_SHUTTER_SPEED);
1858  return this;
1859  }
1882  public Informer reqInformExtentOfOpening2() {
1883  reqInformProperty(EPC_EXTENT_OF_OPENING2);
1884  return this;
1885  }
1908  public Informer reqInformElectricLockSetting() {
1909  reqInformProperty(EPC_ELECTRIC_LOCK_SETTING);
1910  return this;
1911  }
1936  public Informer reqInformOpenCloseSetting2() {
1937  reqInformProperty(EPC_OPEN_CLOSE_SETTING2);
1938  return this;
1939  }
1940  }
1941 
1942  public static class Proxy extends ElectricShutter {
1943  public Proxy(byte instanceCode) {
1944  super();
1945  mEchoInstanceCode = instanceCode;
1946  }
1947  @Override
1948  public byte getInstanceCode() {
1949  return mEchoInstanceCode;
1950  }
1951  @Override
1952  protected byte[] getOperationStatus() {return null;}
1953  @Override
1954  protected boolean setInstallationLocation(byte[] edt) {return false;}
1955  @Override
1956  protected byte[] getInstallationLocation() {return null;}
1957  @Override
1958  protected byte[] getStandardVersionInformation() {return null;}
1959  @Override
1960  protected byte[] getFaultStatus() {return null;}
1961  @Override
1962  protected byte[] getManufacturerCode() {return null;}
1963  @Override
1964  protected boolean setOpenCloseSetting1(byte[] edt) {return false;}
1965  @Override
1966  protected byte[] getOpenCloseSetting1() {return null;}
1967  @Override
1968  protected boolean setOpenCloseSetting2(byte[] edt) {return false;}
1969  @Override
1970  protected byte[] getOpenCloseSetting2() {return null;}
1971  }
1972 
1973  public static Setter setG() {
1974  return setG((byte)0);
1975  }
1976 
1977  public static Setter setG(byte instanceCode) {
1978  return setG(instanceCode, true);
1979  }
1980 
1981  public static Setter setG(boolean responseRequired) {
1982  return setG((byte)0, responseRequired);
1983  }
1984 
1985  public static Setter setG(byte instanceCode, boolean responseRequired) {
1986  return new Setter(ECHO_CLASS_CODE, instanceCode
1987  , EchoSocket.MULTICAST_ADDRESS, responseRequired);
1988  }
1989 
1990  public static Getter getG() {
1991  return getG((byte)0);
1992  }
1993 
1994  public static Getter getG(byte instanceCode) {
1995  return new Getter(ECHO_CLASS_CODE, instanceCode
1997  }
1998 
1999  public static Informer informG() {
2000  return informG((byte)0);
2001  }
2002 
2003  public static Informer informG(byte instanceCode) {
2004  return new Informer(ECHO_CLASS_CODE, instanceCode
2005  , EchoSocket.MULTICAST_ADDRESS, false);
2006  }
2007 
2008 }
synchronized boolean setProperty(EchoProperty property)
synchronized boolean isValidProperty(EchoProperty property)
final void removeSetProperty(byte epc)
Definition: EchoObject.java:98
final void addStatusChangeAnnouncementProperty(byte epc)
Definition: EchoObject.java:71
final void addGetProperty(byte epc)
final void addSetProperty(byte epc)
Definition: EchoObject.java:93
abstract boolean setInstallationLocation(byte[] edt)
static final String MULTICAST_ADDRESS
Definition: EchoSocket.java:53
static Setter setG(byte instanceCode, boolean responseRequired)