[ 
https://issues.apache.org/jira/browse/CURATOR-144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14113973#comment-14113973
 ] 

ASF GitHub Bot commented on CURATOR-144:
----------------------------------------

Github user dragonsinth commented on a diff in the pull request:

    https://github.com/apache/curator/pull/41#discussion_r16853269
  
    --- Diff: 
curator-recipes/src/main/java/org/apache/curator/framework/recipes/cache/TreeCache.java
 ---
    @@ -65,6 +69,112 @@
     {
         private static final Logger LOG = 
LoggerFactory.getLogger(TreeCache.class);
     
    +    public static final class Builder
    +    {
    +        private final CuratorFramework client;
    +        private final String path;
    +        private boolean cacheData = true;
    +        private boolean dataIsCompressed = false;
    +        private CloseableExecutorService executorService = null;
    +
    +        private Builder(CuratorFramework client, String path)
    +        {
    +            this.client = checkNotNull(client);
    +            this.path = validatePath(path);
    +        }
    +
    +        /**
    +         * Builds the {@link TreeCache} based on configured values.
    +         */
    +        public TreeCache build()
    +        {
    +            CloseableExecutorService executor = executorService;
    +            if ( executor == null )
    +            {
    +                executor = new 
CloseableExecutorService(Executors.newSingleThreadExecutor(defaultThreadFactory));
    +            }
    +            return new TreeCache(client, path, cacheData, 
dataIsCompressed, executor);
    +        }
    +
    +        /**
    +         * Builds the {@link TreeCache} based on configured values, and 
starts it.
    +         */
    +        public TreeCache buildAndStart() throws Exception
    --- End diff --
    
    Maybe start should `return this` so it's just `foo = 
builder.build().start()`?


> TreeCache should use a builder for advanced options
> ---------------------------------------------------
>
>                 Key: CURATOR-144
>                 URL: https://issues.apache.org/jira/browse/CURATOR-144
>             Project: Apache Curator
>          Issue Type: Improvement
>          Components: Recipes
>            Reporter: Scott Blum
>            Priority: Minor
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>




--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to