Class URISchema<T,​P>


  • public abstract class URISchema<T,​P>
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Constructor Description
      URISchema()  
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.net.URI getDefaultURI()  
      protected URIFactory<T,​P> getFactory()  
      protected java.lang.String getHost​(java.net.URI uri)  
      protected int getPort​(java.net.URI uri)  
      abstract java.lang.String getSchemaName()  
      protected abstract T internalNewObject​(java.net.URI uri, java.util.Map<java.lang.String,​java.lang.String> query, P param)  
      protected java.net.URI internalNewURI​(T bean)
      This is the default implementation.
      protected void internalPopulateObject​(java.net.URI uri, java.util.Map<java.lang.String,​java.lang.String> query, T bean)  
      T newObject​(java.net.URI uri, java.util.Map<java.lang.String,​java.lang.String> propertyOverrides, P param)
      It will create a new Object for the URI selected schema.
      T newObject​(java.net.URI uri, P param)  
      java.net.URI newURI​(T bean)  
      static java.util.Map<java.lang.String,​java.lang.String> parseQuery​(java.lang.String uri, java.util.Map<java.lang.String,​java.lang.String> propertyOverrides)  
      void populateObject​(java.net.URI uri, T bean)  
      protected java.lang.String printQuery​(java.util.Map<java.lang.String,​java.lang.String> query)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • URISchema

        public URISchema()
    • Method Detail

      • getSchemaName

        public abstract java.lang.String getSchemaName()
      • newObject

        public T newObject​(java.net.URI uri,
                           P param)
                    throws java.lang.Exception
        Throws:
        java.lang.Exception
      • populateObject

        public void populateObject​(java.net.URI uri,
                                   T bean)
                            throws java.lang.Exception
        Throws:
        java.lang.Exception
      • newURI

        public java.net.URI newURI​(T bean)
                            throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getHost

        protected java.lang.String getHost​(java.net.URI uri)
      • getDefaultURI

        protected java.net.URI getDefaultURI()
      • getPort

        protected int getPort​(java.net.URI uri)
      • newObject

        public T newObject​(java.net.URI uri,
                           java.util.Map<java.lang.String,​java.lang.String> propertyOverrides,
                           P param)
                    throws java.lang.Exception
        It will create a new Object for the URI selected schema. the propertyOverrides is used to replace whatever was defined on the URL string
        Parameters:
        uri - The URI
        propertyOverrides - used to replace whatever was defined on the URL string
        Returns:
        new Object
        Throws:
        java.lang.Exception - On error
      • internalNewObject

        protected abstract T internalNewObject​(java.net.URI uri,
                                               java.util.Map<java.lang.String,​java.lang.String> query,
                                               P param)
                                        throws java.lang.Exception
        Throws:
        java.lang.Exception
      • internalNewURI

        protected java.net.URI internalNewURI​(T bean)
                                       throws java.lang.Exception
        This is the default implementation. Sub classes are should provide a proper implementation for their schemas.
        Throws:
        java.lang.Exception
      • internalPopulateObject

        protected void internalPopulateObject​(java.net.URI uri,
                                              java.util.Map<java.lang.String,​java.lang.String> query,
                                              T bean)
                                       throws java.lang.Exception
        Throws:
        java.lang.Exception
      • parseQuery

        public static java.util.Map<java.lang.String,​java.lang.String> parseQuery​(java.lang.String uri,
                                                                                        java.util.Map<java.lang.String,​java.lang.String> propertyOverrides)
                                                                                 throws java.net.URISyntaxException
        Throws:
        java.net.URISyntaxException
      • printQuery

        protected java.lang.String printQuery​(java.util.Map<java.lang.String,​java.lang.String> query)