Skip to content
Snippets Groups Projects
Select Git revision
  • 0088bc1daa0938e4ef27587a7ced5b273eefb3cb
  • master default
2 results

Token.java

Blame
  • Token.java 1.15 KiB
    package Cli;
    
    public class Token {
    
    	private TypeToken typeOfToken;
    	private String name;
    	private String value;
    	
    	public Token(TypeToken _typeOfToken, String _name){
    		typeOfToken = _typeOfToken;
    		name = _name;
    		value = "";
    	}
    	
    	public void setValue(String _value) throws errorWrongFormatValue{
    		if(isTockenCorrect(_value)){
    			value = _value;
    		}else{
    			throw new errorWrongFormatValue("Incorrect format for "+name+" arg."); 
    			/* si incorrect, throw une erreur qui doit tre catch 
    			par la fonction au dessus (et on doit annuler la commande */
    		}
    	}
    	
    	public String getValue(){
    		return value;
    	}
    	
    	public boolean isTockenCorrect(String _value){
    		switch(typeOfToken){
    			case date:
    				if(_value.matches("\\d{2}/\\d{2}/\\d{4}"))
    					return true;
    				break;
    			case integer:
    				if(_value.matches("-?\\d+"))
    					return true;
    				break;
    			case position:
    				if(_value.matches("-?\\d+(\\.\\d+)\\,\\d+(\\.\\d+)?"))
    					return true;
    				break;
    			case decimal:
    				if(_value.matches("-?\\d+(\\.\\d+)?"))
    					return true;
    				break;
    			case str:
    				return true;
    		}
    		return false;
    	}
    	
    	public static enum TypeToken{
    		date,str,integer,decimal,position
    	}
    }