Class ProjectController


  • public final class ProjectController
    extends ro.pippo.controller.Controller
    Controller for project-specific endpoints to return some data from KNX Project file
    • Field Detail

      • log

        protected final org.slf4j.Logger log
    • Constructor Detail

      • ProjectController

        public ProjectController()
    • 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 XmlGroupRange on 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
        Not supported for: two-level and free-level projects
        Returns:
        list of XmlGroupRange for given main range
      • getGroupAddresses

        @GET("/project/addresses")
        @Produces("application/json")
        public List<XmlGroupAddress> getGroupAddresses()
        Returns all group addresses

        Supported for all projects: free-level, two-level and three-level

        Returns:
        list of XmlGroupAddress for 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
        Not supported for: three-level and free-level projects
        Returns:
        list of XmlGroupAddress for given main range
      • 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
        Not supported for: two-level and free-level projects
        Returns:
        list of XmlGroupAddress for given main and middle ranges
      • getKnxClient

        public final KnxClient getKnxClient()
      • limitAndGetAsList

        protected final <T> List<T> limitAndGetAsList​(Collection<T> list)
        Returns a range of T elements from list. May be limited using start and limit request 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