Class ProjectController
- java.lang.Object
-
- ro.pippo.controller.Controller
-
- li.pitschmann.knx.core.plugin.api.v1.controllers.ProjectController
-
public final class ProjectController extends ro.pippo.controller.ControllerController for project-specific endpoints to return some data from KNX Project file
-
-
Field Summary
Fields Modifier and Type Field Description protected org.slf4j.Loggerlog
-
Constructor Summary
Constructors Constructor Description ProjectController()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<XmlGroupAddress>getGroupAddresses()Returns all group addressesList<XmlGroupAddress>getGroupAddresses(int main)Returns the group addresses for a two-level project (main/sub) Main: 0 .. 31 Not supported for: three-level and free-level projectsList<XmlGroupAddress>getGroupAddresses(int main, int middle)Returns the group addresses for a three-level project (main/middle/sub) Main: 0 .. 31 Middle: 0 .. 7 Not supported for: two-level and free-level projectsList<XmlGroupRange>getGroupRanges()Returns the all group main ranges for a two-level project (main/sub) or a three-level project (main/middle/sub)List<XmlGroupRange>getGroupRanges(int main)Returns the middle group ranges for a three-level project (main/middle/sub) Main: 0 .. 31 Not supported for: two-level and free-level projectsKnxClientgetKnxClient()XmlProjectgetXmlProject()protected <T> List<T>limitAndGetAsList(Collection<T> list)Returns a range ofTelements from list.ProjectStructureRequestprojectStructure()Returns the project structure containing metadata from *.knxproj file
-
-
-
Method Detail
-
projectStructure
@GET("/project") @Produces("application/json") public ProjectStructureRequest projectStructure()Returns the project structure containing metadata from *.knxproj file- Returns:
- response of project structure
-
getGroupRanges
@GET("/project/ranges") @Produces("application/json") public List<XmlGroupRange> getGroupRanges()Returns the all group main ranges for a two-level project (main/sub) or a three-level project (main/middle/sub)Not supported for: free-level projects
- Returns:
- list of
XmlGroupRangeon root level
-
getGroupRanges
@GET("/project/ranges/{main: \\d+}") @Produces("application/json") public List<XmlGroupRange> getGroupRanges(@Param int main)Returns the middle group ranges for a three-level project (main/middle/sub)- Main: 0 .. 31
- Returns:
- list of
XmlGroupRangefor givenmainrange
-
getGroupAddresses
@GET("/project/addresses") @Produces("application/json") public List<XmlGroupAddress> getGroupAddresses()Returns all group addressesSupported for all projects: free-level, two-level and three-level
- Returns:
- list of
XmlGroupAddressfor given project
-
getGroupAddresses
@GET("/project/addresses/{main: \\d+}") @Produces("application/json") public List<XmlGroupAddress> getGroupAddresses(@Param int main)Returns the group addresses for a two-level project (main/sub)- Main: 0 .. 31
- Returns:
- list of
XmlGroupAddressfor givenmainrange
-
getGroupAddresses
@GET("/project/addresses/{main: \\d+}/{middle: \\d+}") @Produces("application/json") public List<XmlGroupAddress> getGroupAddresses(@Param int main, @Param int middle)Returns the group addresses for a three-level project (main/middle/sub)- Main: 0 .. 31
- Middle: 0 .. 7
- Returns:
- list of
XmlGroupAddressfor givenmainandmiddleranges
-
getXmlProject
@Nullable public final XmlProject getXmlProject()
-
getKnxClient
public final KnxClient getKnxClient()
-
limitAndGetAsList
protected final <T> List<T> limitAndGetAsList(Collection<T> list)
Returns a range ofTelements from list. May be limited usingstartandlimitrequest parameters.- Type Parameters:
T- the type of list value to be limited- Parameters:
list- the list that may be limited- Returns:
- a new list of elements from
Collection
-
-